我想要一個批處理檔案來洗掉它所在目錄中的所有檔案和子檔案夾。這就是我所做的(它只洗掉檔案):
cd "%~dp0"
for %%i in (*.*) do if not "%%i"=="%~nx0" del /f /q "%%i"
如何使它也洗掉子檔案夾?
uj5u.com熱心網友回復:
標準FOR命令只迭代檔案。所以你需要一種機制來同時列出檔案和檔案夾。您還需要一種機制來確定迭代的物件是檔案還是檔案夾,以便您使用正確的命令來洗掉檔案或洗掉目錄。
@echo off
CD /D "C:\root folder"
for /F "delims=" %%G in ('dir /b') do (
REM check if it is a directory or file
IF EXIST "%%G\" (
rmdir "%%G" /s /q
) else (
del "%%G" /q
)
)
uj5u.com熱心網友回復:
這是 Windows 命令列中的一個已知問題:為了洗掉檔案,您需要該del命令。為了洗掉目錄,您需要rmdir但只有在目錄為空時才能啟動該命令。
所以,首先你洗掉檔案(你已經完成了),然后你可以開始使用rmdir洗掉目錄,但要注意:你需要從內到外(從最深的 subsubsub... 目錄回到主目錄)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/331364.html
標籤:批处理文件
上一篇:從檔案中批量省略行
