Windows 删除Exe批处理脚本本身

Windows 删除Exe批处理脚本本身,windows,batch-file,Windows,Batch File,我已经将我的批处理(.bat)文件编译成exe,让它名为Run.exe,我想告诉它在工作结束时删除自己。如何通过命令执行此操作?将其放在脚本末尾: ( del /q /f "%~f0" >nul 2>&1 & exit /b 0 ) 这将告诉它退出并删除它自己,我已经在编译到exe时对它进行了测试,这样它就可以工作了。这可能有点不可靠,所以您也可以尝试一下 call :end&exit /b :end start /b "" cmd /c del "%~f

我已经将我的批处理(.bat)文件编译成exe,让它名为Run.exe,我想告诉它在工作结束时删除自己。如何通过命令执行此操作?

将其放在脚本末尾:

( del /q /f "%~f0" >nul 2>&1 & exit /b 0  )
这将告诉它退出并删除它自己,我已经在编译到exe时对它进行了测试,这样它就可以工作了。这可能有点不可靠,所以您也可以尝试一下

call :end&exit /b
:end
start /b "" cmd /c del "%~f0"&exit /b

两种方法都试一下,看哪一种最适合您。

可能重复的“否”不一样,因为这里有一个exe文件可以将批处理脚本复制到临时文件夹中,如果我使用%0,它将删除临时文件夹中的批处理文件,而不是正在运行的真正exe。您是如何转换bat的?为什么
%0
将为您提供指向不同文件的路径?您可以使用WMI的
Win32\u进程.ExecutablePath
跟踪run.exe并找到其路径。然后使用
del
命令将其删除。为什么“del/*./*”不起作用?(不带“/”读)