标题: [文本处理] 批处理删除文件和文件夹如何显示 处理了多少条结果? [打印本页]
作者: lovekix 时间: 2024-6-30 10:46 标题: 批处理删除文件和文件夹如何显示 处理了多少条结果?
比如说 一个bat 里面包含- del /s/q "C:\Windows\apppatch\shellFeatureInbox.sdb"
- del /s/q "C:\Windows\hh.exe"
- del /s/q "C:\Windows\mib.bin"
- del /s/q "C:\Windows\system.ini"
- rd /S /Q "C:\Windows\UUS\x86"
- rd /S /Q "C:\Windows\schemas\TSWorkSpace"
- rd /S /Q "C:\Windows\schemas\VpnProfile"
复制代码
想显示出来的结果 为
删除成功了XXX条 失败了XX条
或者
删除成功XXX个文件夹 失败XX个文件夹
作者: aloha20200628 时间: 2024-6-30 12:38
本帖最后由 aloha20200628 于 2024-6-30 12:48 编辑
回复 1# lovekix
- @echo off &setlocal
- for %%F in (
- "C:\Windows\apppatch\shellFeatureInbox.sdb"
- "C:\Windows\hh.exe"
- "C:\Windows\mib.bin"
- "C:\Windows\system.ini"
- ) do (del /s/q "%%~F" 2>nul)&(if exist "%%~F" (set/a m+=1) else set/a n+=1)
- echo,删除文件》成功 %n% 个,失败 %m% 个
- for %%D in (
- "C:\Windows\UUS\x86"
- "C:\Windows\schemas\TSWorkSpace"
- "C:\Windows\schemas\VpnProfile"
- ) do (rd /s/q "%%~D" 2>nul)&(if exist "%%~D" (set/a i+=1) else set/a k+=1)
- echo,删除目录》成功 %k% 个,失败 %i% 个
- endlocal&pause&exit/b
复制代码
建议先用一组测试文件或目录测试代码,通过之后再用于实况。删除批量文件或目录须慎重...
作者: aloha20200628 时间: 2024-6-30 13:44
回复 1# lovekix
二楼代码已订正...
作者: 77七 时间: 2024-6-30 16:10
- del /s /q "C:\Windows\hh.exe"
复制代码
如果删除文件不涉及windows子目录下的hh.exe,无需/s /q 开关。
如果真实意图正如代码所示,可尝试下列代码。
删除文件并计数
- @echo off
- for %%a in (
- "C:\Windows\apppatch\shellFeatureInbox.sdb"
- "C:\Windows\hh.exe"
- "C:\Windows\mib.bin"
- "C:\Windows\system.ini"
- ) do (
- for /f "delims=" %%i in ('2^>nul dir /b /s /a-d "%%~a"') do (
- del "%%i" 1>nul 2>nul
- if not exist "%%i" (
- set /a n+=1
- ) else (
- set /a m+=1
- echo 删除失败[%%i]
- )
- )
- )
- echo 删除成功 %n% 删除失败 %m%
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |