好的,我很抱歉,我對此非常感興趣,但我試圖讓我的批處理文件在啓動後刪除它自己的目錄。這是我的文件夾的方式安排:如何讓批處理文件刪除它自己的目錄?
- Folder1中
- delete.bat
我的目標是後「刪除,使 「delete.bat」 刪除 「Folder1中」。蝙蝠「已經啓動。因此,這裏是我的代碼:
rd /s /q %~dp0..\Folder1
這似乎是它的工作,但它只是刪除「Folder1中」的內容,而不是整個目錄本身。我究竟做錯了什麼?
好的,我很抱歉,我對此非常感興趣,但我試圖讓我的批處理文件在啓動後刪除它自己的目錄。這是我的文件夾的方式安排:如何讓批處理文件刪除它自己的目錄?
我的目標是後「刪除,使 「delete.bat」 刪除 「Folder1中」。蝙蝠「已經啓動。因此,這裏是我的代碼:
rd /s /q %~dp0..\Folder1
這似乎是它的工作,但它只是刪除「Folder1中」的內容,而不是整個目錄本身。我究竟做錯了什麼?
從RD相應MSDN link:
不能使用rmdir來刪除當前目錄。您必須先更改到不同的目錄(不是當前目錄的子目錄),然後使用rmdir和路徑。
我想這是你的情況出了什麼問題,因爲批處理文件位於你要刪除的目錄中。
一些想法...
%~dp0
得到批處理文件的驅動器和路徑,這樣你就不會需要包括..\Folder1
。一個很好的解決方案:start /b "" cmd /c rd /s /q "%~dp0"
這將創建一個新的進程刪除(在它和一切,包括這個批處理文件)的文件夾。小心。 =)
您還沒有從另一個文件夾調用批處理。你可以在批處理腳本中'cd'%〜dp0..',以保證你的當前目錄不同於folder_1。 – dbenham
這個新字符串究竟做了什麼?自從我試圖使用它以來,通常工作的進程中的語法錯誤我不確定這是否是原因,但如果是這樣,是否有辦法將其反轉? –
'rmdir/s/q%〜dp0 .. \ Folder1' – Codexer
'rd/s/q%〜dp0'%〜dp0'是批處理文件夾的路徑。 – 2016-11-16 05:49:55