@echo off
for /f "delims=*" %%i in ('dir /ad /b "C:\Documents and Settings\All Users\Application Data"^|find /v "bek"') do echo rd /s/q "%%i"
pause
实际应用去掉echo
@echo off
for /f "delims=*" %%i in ('dir /ad /b "C:\Documents and Settings\All Users\Application Data"^|find /v "bek"') do echo rd /s/q "C:\Documents and Settings\All Users\Application Data\%%i"
pause
@echo off
for /f "delims=*" %%i in ('dir /ad /b "C:\Documents and Settings\Administrator\桌面\新建文件夹\"^|find /v "bek"') do rd /s/q "C:\Documents and Settings\Administrator\桌面\新建文件夹\%%i" del /f/q "C:\Documents and Settings\Administrator\桌面\新建文件夹\*.*"
pause
以下为演示代码,必须放在E盘之外的分区运行:
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------
@echo off
for /f "delims=" %%i in ('dir /a /b e:\') do (
set flag=
for /f "delims=" %%j in (test.txt) do if /i "%%i"=="%%j" set flag=1
if not defined flag echo "e:\%%i"
)
pause
test.txt必须放在E盘之外的分区,里面的内容为不带路径的文件夹名,一行一条记录,比如:
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------
文件夹1
文件夹2
文件夹3
文件夹4
如果对以上演示代码的效果很满意,可以用下面的代码来删除E盘下指定文件夹外的其他所有文件或文件夹:
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------
@echo off
for /f "delims=" %%i in ('dir /a /b e:\') do (
set flag=
for /f "delims=" %%j in (test.txt) do if /i "%%i"=="%%j" set flag=1
if not defined flag del /a /f "e:\%%i" 2>nul||rd /s "e:\%%i" 2>nul
)
pause