求一个批处理命令(删除目录下面全部文件和文件夹,指定的文件除外)
删除目录下面全部文件和文件夹,指定的文件除外。例如:删除D:abc\目录下除130.txt和132.doc外的全部文件和目录的批处理!本人写的代码如下:cd/dD:\ab...
删除目录下面全部文件和文件夹,指定的文件除外。
例如:删除D:abc\ 目录下除130.txt和132.doc外的全部文件和目录的批处理!
本人写的代码如下:
cd /d D:\abc\def
for /f "usebackq delims=" %%i in (`dir /a /b`) do (attrib "%%i" -r -h -s)
del D:\abc\def\*.* /f /q
rem
for /R %%I in (130.txt,132.doc) do attrib "%%~nI" +r +s +h
for /R %%i in (*.*) do (rmdir "%%i" /s /q)
for /f "usebackq delims=" %%i in (`dir /a /b`) do (attrib "%%i" -r -h -s)
这个是保留130和132目录,而不是名字,帽子for参数本身的限制,求高手帮忙写一个新的批处理或者修改一下,本人从12点一直弄到现在,真的搞不定了,求高手帮忙,确实没有财富值了,见谅。 展开
例如:删除D:abc\ 目录下除130.txt和132.doc外的全部文件和目录的批处理!
本人写的代码如下:
cd /d D:\abc\def
for /f "usebackq delims=" %%i in (`dir /a /b`) do (attrib "%%i" -r -h -s)
del D:\abc\def\*.* /f /q
rem
for /R %%I in (130.txt,132.doc) do attrib "%%~nI" +r +s +h
for /R %%i in (*.*) do (rmdir "%%i" /s /q)
for /f "usebackq delims=" %%i in (`dir /a /b`) do (attrib "%%i" -r -h -s)
这个是保留130和132目录,而不是名字,帽子for参数本身的限制,求高手帮忙写一个新的批处理或者修改一下,本人从12点一直弄到现在,真的搞不定了,求高手帮忙,确实没有财富值了,见谅。 展开
展开全部
@echo off
for /r "d:\abc\def" %%a in (*) do (
if "%%~nxa" neq "130.txt" (
if "%%~nxa" neq "132.doc" (
del /a /f "%%a"
)
)
)
for /f "usebackq delims=" %%b in ('dir /ad /b /s "d:\abc\def"^|sort /r') do (
rd "%%b"
)
pause
上面批处理的思路是:
先删除除了130.txt和132.doc外所有的文件,然后在删除所有的空目录。
有疑问,请追问。如果对你有帮助,请采纳!谢谢!
追问
执行了,没任何效果,也没删除任何文件。
追答
@echo off
for /r "d:\abc\def" %%a in (*) do (
if "%%~nxa" neq "130.txt" (
if "%%~nxa" neq "132.doc" (
del /a /f "%%a"
)
)
)
for /f "delims=" %%b in ('dir /ad /b /s "d:\abc\def"^|sort /r') do (
rd "%%b"
)
pause
系统下测试成功。
有疑问,请追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询