如何用DOS做批处理文件删除以某个字符开头的文件夹?
答案:1 悬赏:0
解决时间 2021-10-08 22:30
- 提问者网友:捧腹剧
- 2021-10-08 18:19
如何用DOS做批处理文件删除以某个字符开头的文件夹?
最佳答案
- 二级知识专家网友:冷風如刀
- 2021-10-08 19:43
找到原因了,是百度的问题,你把每一行后面多余的空格删除就可以了!!!!!!
::复制以下内容,保存为bat文件,放在d盘运行即可.
::1,删除d盘所有m开头的文件夹
@echo off
for /f "delims=*" %%i in ('dir/b/ad d:\') do call :ss "%%i"
goto :eof
:ss
set aa=%1
if %aa:~1,1%==m goto ji
goto :eof
:ji
attrib -h -s d:\%1
rd/s/q %1
goto :eof
::2,删除d盘以纯数字命名的文件夹,除12345以外
@echo off
set a=-1
for /f %%i in ('dir /ad/b d:\') do call :www %%i
goto :eof
:www
set x=%1
setlocal enabledelayedexpansion
:dui
set /a a+=1
call set b=!!x:~%a%,1!!
if "!b!"=="" goto ok
for %%i in (1 2 3 4 5 6 7 8 9 0) do (
set aa=%%i
if !b!==%%i goto dui
)
goto :eof
:ok
if not %x%==12345 goto rd
goto :eof
:rd
rd /q/s d:\%x%
goto :eof
3,将第二种方法的倒数第3,4,5行去掉就是删除所有以纯数字命名的文件夹.
::复制以下内容,保存为bat文件,放在d盘运行即可.
::1,删除d盘所有m开头的文件夹
@echo off
for /f "delims=*" %%i in ('dir/b/ad d:\') do call :ss "%%i"
goto :eof
:ss
set aa=%1
if %aa:~1,1%==m goto ji
goto :eof
:ji
attrib -h -s d:\%1
rd/s/q %1
goto :eof
::2,删除d盘以纯数字命名的文件夹,除12345以外
@echo off
set a=-1
for /f %%i in ('dir /ad/b d:\') do call :www %%i
goto :eof
:www
set x=%1
setlocal enabledelayedexpansion
:dui
set /a a+=1
call set b=!!x:~%a%,1!!
if "!b!"=="" goto ok
for %%i in (1 2 3 4 5 6 7 8 9 0) do (
set aa=%%i
if !b!==%%i goto dui
)
goto :eof
:ok
if not %x%==12345 goto rd
goto :eof
:rd
rd /q/s d:\%x%
goto :eof
3,将第二种方法的倒数第3,4,5行去掉就是删除所有以纯数字命名的文件夹.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯