问题
I would like to delete all folders except MYFOLDER found in a parent directory but I cant get it done?
for %%i in ("C:\Parent") do if not "%%i"=="MYFOLDER" del /f /q "%%i
could somebody please check the code?
(I'm using *.bat)
回答1:
This should help you:
for /d %%i in ("C:\Parent\*") do if /i not "%%~nxi"=="MYFOLDER" del /s /q "%%i"
回答2:
Or simply copy MYFOLDER to a temp folder, delete all files, and copy back MYFOLDER. Unless MYFOLDER is huge and takes time to copy, this should work just as good.
回答3:
Dir
all folders and check one by one if it is not MYFOLDER, if is not - delete it.
Please remove echo
when running the real job.
for /d %%i in (C:\Parent\*) do (
if /i "%%i" NEQ ".exe" echo rd /S /Q %%i
)
来源:https://stackoverflow.com/questions/21048546/delete-all-folders-except-bat