Delete all folders except… (*.BAT)

2019-05-18 02:30发布

问题:

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
)