【发布时间】:2011-11-22 02:58:17
【问题描述】:
我正在寻找一个批处理文件,该文件将进入 C:\Documents and Settings\ 并删除除我想保留的几个文件夹之外的所有文件夹。
【问题讨论】:
标签: batch-file windows-xp cmd
我正在寻找一个批处理文件,该文件将进入 C:\Documents and Settings\ 并删除除我想保留的几个文件夹之外的所有文件夹。
【问题讨论】:
标签: batch-file windows-xp cmd
这是一个 hack-around =D
如果您在说 folder.txt 中有一个文件夹路径列表,如下所示:
等等。您可以做的是暂时将它们更改为隐藏文件夹,然后对所有非隐藏文件夹进行 RMDIR。
CD "C:\Documents and Settings\"
FOR /F "tokens=*" %%A IN (folders.txt) DO (
ATTRIB +H "%%A" /S /D
)
FOR /F "USEBACKQ tokens=*" %%F IN (`DIR /B /A:-HD "C:\Documents and Settings\"`) DO (
RMDIR /S /Q %%A
)
FOR /F "tokens=*" %%A IN (folders.txt) DO (
ATTRIB -H "%%A" /S /D
)
【讨论】:
使用 robocopy 的解决方案:
cd /d "C:\Documents and Settings"
md tmp
robocopy . tmp /E /MOVE /XD folderToKeep1 folderToKeep2 ...
rd /s /q tmp
【讨论】:
rem the last space character is deliberate
set yourKeepList="abc def "
for /f %%f in ('dir /b/ad "C:\Documents and Settings"') do (
(echo %yourKeepList% | findstr /v /i "%%f " 1>nul) && rd /q/s %%f
)
【讨论】: