[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理删除文件和文件夹如何显示 处理了多少条结果?

比如说  一个bat  里面包含
  1. del /s/q "C:\Windows\apppatch\shellFeatureInbox.sdb"
  2. del /s/q "C:\Windows\hh.exe"
  3. del /s/q "C:\Windows\mib.bin"
  4. del /s/q "C:\Windows\system.ini"
  5. rd /S /Q "C:\Windows\UUS\x86"
  6. rd /S /Q "C:\Windows\schemas\TSWorkSpace"
  7. rd /S /Q "C:\Windows\schemas\VpnProfile"
复制代码
想显示出来的结果 为

删除成功了XXX条   失败了XX条
或者
删除成功XXX个文件夹  失败XX个文件夹

  1. del /s /q "C:\Windows\hh.exe"
复制代码

如果删除文件不涉及windows子目录下的hh.exe,无需/s /q 开关。
如果真实意图正如代码所示,可尝试下列代码。

删除文件并计数
  1. @echo off
  2. for %%a in (
  3. "C:\Windows\apppatch\shellFeatureInbox.sdb"
  4. "C:\Windows\hh.exe"
  5. "C:\Windows\mib.bin"
  6. "C:\Windows\system.ini"
  7. ) do (
  8. for /f "delims=" %%i in ('2^>nul dir /b /s /a-d "%%~a"') do (
  9. del "%%i" 1>nul 2>nul
  10. if not exist "%%i" (
  11. set /a n+=1
  12. ) else (
  13. set /a m+=1
  14. echo 删除失败[%%i]
  15. )
  16. )
  17. )
  18. echo 删除成功 %n% 删除失败 %m%
  19. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 1# lovekix
二楼代码已订正...

TOP

本帖最后由 aloha20200628 于 2024-6-30 12:48 编辑

回复 1# lovekix
  1. @echo off &setlocal
  2. for %%F in (
  3. "C:\Windows\apppatch\shellFeatureInbox.sdb"
  4. "C:\Windows\hh.exe"
  5. "C:\Windows\mib.bin"
  6. "C:\Windows\system.ini"
  7. ) do (del /s/q "%%~F" 2>nul)&(if exist "%%~F" (set/a m+=1) else set/a n+=1)
  8. echo,删除文件》成功 %n% 个,失败 %m% 个
  9. for %%D in (
  10. "C:\Windows\UUS\x86"
  11. "C:\Windows\schemas\TSWorkSpace"
  12. "C:\Windows\schemas\VpnProfile"
  13. ) do (rd /s/q "%%~D" 2>nul)&(if exist "%%~D" (set/a i+=1) else set/a k+=1)
  14. echo,删除目录》成功 %k% 个,失败 %i% 个
  15. endlocal&pause&exit/b
复制代码
建议先用一组测试文件或目录测试代码,通过之后再用于实况。删除批量文件或目录须慎重...

TOP

返回列表