如何用DOS做批处理文件删除以某个字符开头的文件夹?

如何用DOS做批处理文件删除以某个字符开头的文件夹?比如,我要删除D:\Program Files\Tencent\QQ\ 下的以QQ号命名的文件夹,但只要删除指定的,我自己的号码不删,有没有办法?先谢谢了!
这三种都要

"用批处理文件删除以某个字符开头的文件夹
删除以数字命名的文件夹?
删除除自己的以外的以qq号,即数字命名的文件夹?"

dospcl的回答我试了,我先在G盘新建了几个数字命名的文件夹,批处理文件里也改了相应的路径,运行后三种选择都试过了,显示找不到文件……

小楼_春雨的回答,我也试了,第一个可以,后两种运行后没任何反应,一闪而过……

先前我说两位的代码是复制,是误会了,在这里给两位道歉了,我再加10分悬赏表示歉意,我没多少分了,不好意思!
两位的说明都很详细,不过还是用不了,麻烦两位再改改,再次谢过了!
最新回答
鸾月

2024-05-21 12:51:50

找到原因了,是百度的问题,你把每一行后面多余的空格删除就可以了!!!!!!

::复制以下内容,保存为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行去掉就是删除所有以纯数字命名的文件夹.
如一

2024-05-21 01:45:08

找不到文件的情况请注意删除 set path=D:\Program Files\Tencent\QQ\ 路径最后的空格. 另外: 为 数字 的目录名大小需大于 10000 ,这样可以比较准确的删除非 QQ名文件夹,因为用户 QQ号码 还未见过小于 10000 的. 如果不需要 尽可以删除 if !str! gtr 10000 测试结果如下: 删除前:



删除中:



删除后:



非纯数字组合\小于10000的纯数字组合将不会删除 @echo off setlocal enabledelayedexpansion set path=D:\Program Files\Tencent\QQ\ :top cls echo 1.用批处理删除以某个数字开头的纯数字组成的文件夹 echo 2.删除以数字命名的文件夹 echo 3.保留某指定文件夹,删除其他文件夹 set /p num=您的选择: if %num% equ 3 goto %num% :1 if %num% equ 1 ( set /p num1=删除以哪个字符开头的文件夹? set "flag=!num1!*" ) else ( set "flag=*") for /f "delims=" %%i in ('dir /b /ad "%path%%flag%"') do ( set /a str=%%i>nul 2>nul if !str! gtr 10000 rd "%path%%%i" ) pause&goto :top :3 echo 输入你的QQ号码如:10001 echo 你也可以定义多个需要保留的号码用空格" "分隔 echo 10001 10002 10003 set /p "num=" for %%a in (%num%) do set "%%a=a" for /f "delims=" %%i in ('dir /b /ad "%path%"') do ( set /a str=%%i>nul 2>nul if not defined %%i if !str! gtr 10000 rd "%path%%%i") pause&exit
一页

2024-05-21 10:49:53

问题修改次数已经达到最大限度了,只能在这里感谢两位了,我把悬赏加到了70作为酬谢!dospcl的回答有选择性,这点很好,小楼_春雨的回答虽然要修改才能针对不同情况使用,但是更全面,达到我要的三种目的。无奈只能选一个作为最终答案,还请海涵!
再次多谢两位帮忙!
故笙姻

2024-05-21 08:30:41

的确想不出什么好办法.............