找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30516|回复: 5

[文件操作] [已解决]批处理如何全盘查找文件并将其删除?

[复制链接]
发表于 2015-5-3 10:59:12 | 显示全部楼层 |阅读模式
请问各位朋友,我的问题是:全盘(包括U盘)查找Soft.exe文件,并将他删除,那个文件夹不确定,两级目录就可以。
发表于 2015-5-3 12:48:24 | 显示全部楼层
本帖最后由 pcl_test 于 2015-5-3 13:07 编辑
  1. @echo off
  2. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3. if exist %%a:\ (
  4. ::删除“盘符:\一级文件夹\二级文件夹”里的指定文件
  5. for /d %%b in (%%a:\*) do for /d %%c in ("%%b\*") do del "%%c\Soft.exe" /f /q 2>nul
  6. ::如果是删除“盘符:\一级文件夹”里的指定文件,修改为for /d %%b in (%%a:\*) do del "%%b\Soft.exe" /f /q 2>nul
  7. )
  8. )
  9. pause
复制代码
  1. @echo off
  2. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3. ::删除所有子目录里的指定文件
  4. if exist "%%a:" del "%%a:\Soft.exe" /s /f /q 2>nul
  5. )
  6. pause
复制代码
发表于 2015-5-3 12:52:43 | 显示全部楼层
  1. @echo off&setlocal EnableDelayedExpansion
  2. rem 删除全盘的soft.exe文件

  3. for /f "delims=," %%a in ('fsutil fsinfo drives') do (
  4.         set str=%%a
  5.         echo 开始删除!str!下的soft.exe
  6.         echo =====================================
  7.         call :rmfile !str!
  8.         )




  9. :rmfile
  10. shift
  11. :loop
  12. if "%1"=="" goto end
  13. echo 开始删除%1下的soft.exe
  14. del /s /p %1soft.exe
  15. echo.
  16. shift
  17. goto loop

  18. :end
  19. exit
复制代码
这个批处理每次删除时都需确认一下,如果不想确认和看到信息,可以将其中的删除语句改为del /s /f %1soft.exe >null.不过还是建议删除时确认一下,比较好!!
 楼主| 发表于 2015-5-3 13:34:42 | 显示全部楼层
回复 2# pcl_test
感谢回复,关建是soft.exe文件也可能是在盘符的根目录下,也可能在第一级或二级目录下,不确定,不要提示。
发表于 2015-5-3 14:15:23 | 显示全部楼层
  1. @echo off
  2. set file=soft.exe
  3. cd\
  4. for /f "skip=1" %%a in ('wmic logicaldisk get name') do (
  5.         if not exist %%a goto end
  6.         %%~da
  7.         if exist %file% del /q %file%
  8.         for /f "delims=" %%b in ('dir /b /ad 2^>nul') do (
  9.                 if exist "%%b\%file%" del /q "%%b\%file%"
  10.                 for /f "delims=" %%c in ('dir /b /ad %%b 2^>nul') do (
  11.                         if exist "%%b\%%c\%file%" del /q "%%b\%%c\%file%"
  12.                 )
  13.         )
  14. )
  15. :end
  16. pause
复制代码
删除根目录,根目录的下级目录和再下级目录的指定文件
发表于 2015-5-3 14:17:46 | 显示全部楼层
本帖最后由 pcl_test 于 2015-5-3 14:25 编辑

回复 4# dnvplj
就是考虑到你可能没有把问题说清楚,所以编了两段代码,第二段代码就可以实现你的要求,如果只是要删除根目录、一级文件夹和二级文件夹的指定文件那么
  1. @echo off
  2. for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3. if exist %%a:\ (
  4. ::删除“盘符:\”里的指定文件
  5. del "%%a:\Soft.exe" /f /q 2>nul
  6. for /d %%b in (%%a:\*) do (
  7. ::删除“盘符:\一级文件夹”里的指定文件
  8. del "%%b\Soft.exe" /f /q 2>nul
  9. ::删除“盘符:\一级文件夹\二级文件夹”里的指定文件
  10. for /d %%c in ("%%b\*") do del "%%c\Soft.exe" /f /q 2>nul
  11. )
  12. )
  13. )
  14. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 06:40 , Processed in 0.017856 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表