标题: [文件操作] 怎么批量删除*font*文件夹 [打印本页]
作者: hentai87 时间: 2020-4-29 14:45 标题: 怎么批量删除*font*文件夹
RD貌似不支持通配符
而且*font*文件夹 所在的文件夹,文件夹极多,枚举可能不现实
举一个失败的例子方便理解吧
RD /s /q "c:\Windows\WinSxS\*font*"
作者: 不知道是谁 时间: 2020-4-29 17:30
本帖最后由 不知道是谁 于 2020-4-29 17:31 编辑
- for /f "delims=" %%i in ('dir /ad /b /s %WinDir%\WinSxS\*font*') do echo %%i
复制代码
测试通过后替换 do 后面的
作者: pcxnice 时间: 2020-4-30 11:38
回复 2# 不知道是谁
正好有类似匹配文件夹问题,用到了,感谢。
for /f "delims=*" %%i in ('dir /ad /b /s %PATH%\* ') do (
move "%%i" "%PATH%"
上面这个语句直接把最深一级的子目录移动到当前目录了。
如果我只想把当前目录下的第一级子目录移动到当前目录,请问有办法吗? 谢谢
作者: Batcher 时间: 2020-4-30 12:31
回复 3# pcxnice
%PATH%是系统默认环境变量,不建议自定义变量也使用%PATH%
作者: pcxnice 时间: 2020-4-30 14:05
回复 4# Batcher
感谢指点。
用PATH是为了适用性,用的时候比较多。都是复制到该目录下直接就用 了,所以没有修改为绝对路径。
作者: hentai87 时间: 2020-4-30 15:40
回复 2# 不知道是谁
如果要反过来,除了*font*文件夹以外的文件夹全部删除,怎么写呢
作者: 不知道是谁 时间: 2020-4-30 18:39
回复 不知道是谁
正好有类似匹配文件夹问题,用到了,感谢。
for /f "delims=*" %%i in ('dir /a ...
pcxnice 发表于 2020-4-30 11:38
去掉 /s 试试
作者: 不知道是谁 时间: 2020-4-30 18:40
回复 不知道是谁
如果要反过来,除了*font*文件夹以外的文件夹全部删除,怎么写呢
hentai87 发表于 2020-4-30 15:40
- @echo off
- set str=%WinDir%\WinSxS
- for /f "delims=" %%i in ('dir /ad /b /s %str%^|find /v "*font*"') do echo %%i
- pause
复制代码
作者: hentai87 时间: 2020-4-30 19:12
本帖最后由 hentai87 于 2020-4-30 19:20 编辑
回复 8# 不知道是谁
D:\ZT\msmg9.8\Mount\Install\Windows\SystemApps>set str=D:\ZT\msmg9.8\Mount\Install\Program Files\WindowsApps
D:\ZT\msmg9.8\Mount\Install\Windows\SystemApps>for /F "delims=" %i in ('dir /ad /b /s "D:\ZT\msmg9.8\Mount\Install\Program Files\WindowsApps"|find /v "Microsoft.UI.Xaml*"') do RD /S /Q "%i"
D:\ZT\msmg9.8\Mount\Install\Windows\SystemApps>RD /S /Q "D:\ZT\msmg9.8\Mount\Install\Program Files\WindowsApps\Microsoft.UI.Xaml123123123"
D:\ZT\msmg9.8\Mount\Install\Windows\SystemApps>RD /S /Q "D:\ZT\msmg9.8\Mount\Install\Program Files\WindowsApps\New folder"
D:\ZT\msmg9.8\Mount\Install\Windows\SystemApps>pause
失败了,删了不该删的Microsoft.UI.Xaml123123123
作者: 不知道是谁 时间: 2020-5-1 17:40
回复 9# hentai87 - @echo off
- set str="D:\ZT\msmg9.8\Mount\Install\Program Files\WindowsApps"
- for /f "delims=" %%i in ('dir /ad /b /s %str%^|findstr /v "Microsoft.UI.Xaml*"') do echo %%i
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |