Board logo

标题: [文件操作] [已解决]如何用批处理全盘搜索指定TXT文件列表里的文件并删除? [打印本页]

作者: y169168712    时间: 2010-3-10 19:00     标题: [已解决]如何用批处理全盘搜索指定TXT文件列表里的文件并删除?

各位大哥,我想用批处理全盘搜索并删除文本文件a.txt里的文件?

D:\a.txt的类容如下:
1.zip
2.txt
3.mp3
4.7z
5.rm

注意a.txt文件里有隐藏文件
具体应该怎么做了

下面的这个批处理需要有文件的全部路径
@echo off
for /f "delims=" %%a in (a.txt) do del /q "%%a"

[ 本帖最后由 y169168712 于 2010-3-26 21:14 编辑 ]
作者: jcy0307    时间: 2010-3-10 19:32

头痛中。。。。 感冒一直没好 不想动脑了!下面代码 是根据前段时间写的BAT版杀毒代码改编的 有空再想想!
  1. @echo off
  2. color 0a
  3. for /r c:\ %%i in (*.*) do (
  4. cls
  5. echo 正在扫描 %%i
  6. for %%k in (%%~nxi) do (
  7. for /f %%j in (a.txt) do (
  8. if "%%j"=="%%k" echo 发现文件:%%j & echo 发现文件-%%i >> 扫描日志.txt & ping -n 2 127.1>nul
  9. )
  10. )
  11. )
  12. if not exist 扫描日志.txt echo 没有发现文件!& pause>nul & exit
  13. echo 扫描完成,按任意键后开始删除!
  14. pause>nul
  15. for /f "delims=- tokens=2" %%k in (扫描日志.txt) do (
  16. echo 正在删除--%%k
  17. del /f /q "%%k"
  18. echo 删除成功--%%k >> 删除日志.txt
  19. pause
复制代码

作者: y169168712    时间: 2010-3-10 20:01     标题: 回复 2楼 的帖子

由忠的感谢jcy0307
感冒要快点好起来哦~~!
就是搜索的速度有点慢,不知道有没有更快的方法

[ 本帖最后由 y169168712 于 2010-3-26 21:08 编辑 ]
作者: caruko    时间: 2010-3-26 22:39

  1. for /f %%i in ('dir /a:-d /s /b') do echo %%~nxi |findstr /l /g:a.txt && del /f /q "%%i"
复制代码

作者: caruko    时间: 2010-3-26 23:10

或者
  1. for /f %%i in (a.txt) do set %%i=1
  2. for /f %%a in ('dir /a:-d /s /b') do if defined %%~nxa del /s /q %%a
复制代码

作者: namejm    时间: 2010-3-26 23:32

  1. @echo off
  2. set drive=c d e f g h i j k l m n o p q r s t u v w x y z
  3. for %%i in (%drive%) do (
  4.     for /f "delims=" %%j in (d:\a.txt) do del /a /f /q /s "%%i:\%%j" 2>nul
  5. )
  6. pause
复制代码

作者: WBATW    时间: 2022-10-13 14:26

回复 4# caruko

FINDSTR: 无法从 a.txt 读取字符串




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2