2012-05-19 42 views
-1

我想要的是在執行後自我刪除文件,這涉及到腳本退出cmd。有沒有辦法將.bat放在一個未知的目錄中,在.cmd關閉後標記爲刪除,這樣它就不會弄亂我的代碼?使用.bat在未知路徑自刪除文件

我現在使用只是爲了找到我需要的路徑中的代碼是

dir /B /S filename.bat 

如果我試圖將其設置爲可變的,

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

我收到返回消息「B」是無效開關。這將會(希望)在Windows 7機器上進行大規模遠程實施(閱讀:成像)。最重要的是,上面的代碼在執行過程中會被刪除,導致程序被終止。我正在查看,也許是記錄響應,然後將其打印到var,但我對此很陌生,而且我很困擾如何在cmd關閉後執行delete命令。我願意提供比我找到/刪除文件更好的/更有效的建議。

+0

您的使用情況的一些背景,使我們能夠幫助您更好。 –

+0

@SteveRobillard我剛剛編輯它來澄清,但我也不習慣尋求幫助,所以我不知道我是否提供了所需的所有用例信息。 – ThomasECH

回答

1

插入這條線在批處理文件:

del "%~F0" & exit 

前行刪除運行的批處理文件,並退出CMD.EXE的

+0

非常感謝你!這完美地解決了我的困境。我也會記住將來的腳本。 – ThomasECH

0

您可以使用%0得到執行批處理文件的名稱。

所以刪除並退出,你可以使用:

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