找到原因了,是百度的问题,你把每一行后面多余的空格删除就可以了!!!!!!
::复制以下内容,保存为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行去掉就是删除所有以纯数字命名的文件夹.
找不到文件的情况请注意删除 set path=D:\Program Files\Tencent\QQ\ 路径最后的空格. 另外: 为 数字 的目录名大小需大于 10000 ,这样可以比较准确的删除非 QQ名文件夹,因为用户 QQ号码 还未见过小于 10000 的. 如果不需要 尽可以删除 if !str! gtr 10000 测试结果如下: 删除前:
问题修改次数已经达到最大限度了,只能在这里感谢两位了,我把悬赏加到了70作为酬谢!dospcl的回答有选择性,这点很好,小楼_春雨的回答虽然要修改才能针对不同情况使用,但是更全面,达到我要的三种目的。无奈只能选一个作为最终答案,还请海涵!
再次多谢两位帮忙!
的确想不出什么好办法.............