没办法。可执行文件和bat脚本文件不一样,它运行时会被加锁,无法获取写权限。
原由:
因为每次编译一个c文件后都会生成一个exe文件,占用了我的视野资源,所以我每次都要定期运行一个批处理脚本来清理这些文件。
于是我就想,exe文件自己不是也有运行权限吗,它能不能自己获取自己的写权限在执行完任务后将自己删除呢?就像进程一样,运行时才创建用完后删除。
最后采取的方法:
1.在stdio.h中加入
#define cle system("那个批处理脚本的文件名");
2.在VSCode 的用户代码片段的main片段中写入system("那个批处理脚本的文件名");
虽然,没办法实现当前执行的exe文件,但是可以清除之前生成的exe文件,也不错
那个批处理脚本内容如下:
@echo off
@REMecho 当前运行的bat文件名:%~nx0
@REMecho 当前运行的bat文件所在的路径:%~dp0
@REMecho 当前运行的bat文件的路径加文件名:%~f0
cd %~dp0
@REM echo Are you sure?
@REM pause
del /q /a /s /f *.exe
del /q /a /s /f *.stackdump
del /q /a /s /f tempCodeRunnerFile.c