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

发布于2022-01-13 16:35:34
5个回答
admin
网友回答2022-01-13
找到原因了,是百度的问题,你把每一行后面多余的空格删除就可以了!!!!!!

::复制以下内容,保存为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行去掉就是删除所有以纯数字命名的文件夹.
admin
网友回答2022-01-13
的确想不出什么好办法.............
admin
网友回答2022-01-13
@echo off
pushd e:\a
for /f tokens=* %%i in ('dir/s/b/ad del.') do rd %%i /s/q&&md %%i
admin
网友回答2022-01-13
请研究 一下 del文件的帮助

删除一个或数个文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names 指定一个或多个文件或者目录列表。
通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所
有文件都会被删除。

/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
I 无内容索引文件 L 重分析点
- 表示“否”的前缀

如果命令扩展被启用,DEL 和 ERASE 更改如下:

/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。
admin
网友回答2022-01-13
del /f /s /q %userprofile%\local settings\temp\*.*

文件夹路径自己修改一下即可

回到
顶部