使用.bat自行删除未知路径上的文件

时间:2012-05-19 23:23:05

标签: batch-file cmd delete-file

我想要做的是在执行后自行删除我的文件,这涉及退出cmd的脚本。是否有办法将.bat(将在未知目录中)排成一行,以便在关闭.cmd后标记为删除,以便它不会弄乱我的代码?

我现在使用的代码只是为了找到我需要的路径

    dir /B /S filename.bat

如果我尝试将其设置为变量,

    set var=dir /B /S filename.bat
    del %var%

我收到的返回信息是“B”是无效的开关。这将(希望)在Windows 7机器上大规模远程实现(读取:成像)。最重要的是,上面的代码将在实现过程中删除,导致程序被终止。我正在考虑,或许,记录响应,然后将其打印到var,但我是新手,我几乎坚持如何在cmd关闭后执行delete命令。我比我查找/删除文件更好/更有效的建议。

2 个答案:

答案 0 :(得分:1)

在批处理文件中插入此行:

del "%~F0" & exit

上一行删除正在运行的批处理文件并退出cmd.exe

答案 1 :(得分:0)

您可以使用%0获取正在执行的批处理文件的名称。

因此,要删除并退出,您可以使用:

del %0 /f /s /q
exit >nul