簡體   English   中英

Windows 7從命令行清空整個目錄

[英]Windows 7 empty entire directory from command line

我正在運行批處理文件,該文件將war文件部署到特定目錄。 但是,我希望在遞歸之前清空該目錄,然后再部署到該目錄。

我發現這個腳本應該刪除目錄中的所有內容,包括文件夾和文件,但是我收到了這個錯誤:“%%我此時出乎意料。”

FOR /D %%i IN ("C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/abtapps/ROOT/*") DO RD /S /Q "%%i" DEL /Q "C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/abtapps/ROOT/*.*"

我只需要一種簡單的方法來通過修復上面的腳本或使用其他方法遞歸清空我的ROOT目錄。 必須能夠從批處理文件中執行此操作。

我正在運行Windows 7。

rmdir ROOT /s /q
mkdir ROOT

你應該使用rmdir / S. 看看這個鏈接

我認為你要找的是清除文件夾而不刪除它並重新創建它。 這將實際清除文件夾,因此您不必重新創建它。

CD "C:/Program Files (x86)/Apache Software Foundation/Tomcat 6.0/abtapps/ROOT" && FOR /D %i IN ("*") DO RD /S /Q "%i" && DEL /Q *.*  

幾點說明。
從命令行運行時,只使用一個%。 雙打用於批處理文件。
&&用於在同一行上運行多個命令。
*在這種情況下,&&是特別重要的,因為你不需要del / q 如果cd失敗則運行,因為你將刪除你開始的目錄的內容。

嘗試這個:

forfiles / p“folder”/ s / c“cmd / c rd / q @path

用文件夾名稱或驅動器號替換“folder”

例如:forfiles / pf:/ s / c“cmd / c rd / q @path

這將通過所有子文件夾遞歸,並僅刪除空文件夾。 如果在命令行中使用它,則會收到非空文件夾的錯誤消息。 如果將其放在批處理腳本中,則需要一些時間才能運行,具體取決於您擁有的文件夾數量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM