我想刪除在父目錄中找到的除MYFOLDER之外的所有文件夾,但無法完成此操作?刪除除....以外的所有文件夾(* .BAT)
for %%i in ("C:\Parent") do if not "%%i"=="MYFOLDER" del /f /q "%%i
有人可以檢查代碼嗎?
(我使用* .bat)的形式
我想刪除在父目錄中找到的除MYFOLDER之外的所有文件夾,但無法完成此操作?刪除除....以外的所有文件夾(* .BAT)
for %%i in ("C:\Parent") do if not "%%i"=="MYFOLDER" del /f /q "%%i
有人可以檢查代碼嗎?
(我使用* .bat)的形式
Dir
所有文件夾和逐一檢查,如果它不是MyFolder文件,如果不是 - 刪除。 運行真實工作時請刪除echo
。
for /d %%i in (C:\Parent\*) do (
if /i "%%i" NEQ ".exe" echo rd /S /Q %%i
)
請注意,如果您只是使用'for/d'而不是使用'for/f'迭代'dir'輸出,那麼您會省去很多痛苦。 – Joey
對不起,應該是/ F。 –
這會幫助你:
for /d %%i in ("C:\Parent\*") do if /i not "%%~nxi"=="MYFOLDER" del /s /q "%%i"
你能解釋一下'%%〜nxi'代表什麼?它對我不起作用,但'%%我'。 – Munchkin
或者乾脆複製MyFolder文件到一個臨時文件夾,刪除所有文件,並複製回MyFolder文件。除非MYFOLDER是巨大的並且需要時間來複制,否則這應該同樣好。
請檢查http://social.technet.microsoft.com/Forums/scriptcenter/en-US/fb007a7f-9207-4dc6-ba50-0723c89e6f77/delete-except-certian-files?forum=ITCG –
你喜歡刪除文件或文件夾?如果你想刪除文件夾,應該用RD代替DEL。 – Rafael