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

[文件操作] BAT批处理如何根据文本内容删除文件?

[复制链接]
发表于 2014-4-22 16:48:13 | 显示全部楼层 |阅读模式
我有批量删除某些文件的需求,文件路径保存为一个TXT,文件路径之间都换行处理,怎么写语句能够批量删除这些文件,然后将操作结果,例如文件是否存在,是否成功删除的信息输出到另外一个TXT里
发表于 2014-4-22 17:45:09 | 显示全部楼层
  1. @echo off
  2. (for /f "delims=" %%i in (a.txt) do (
  3.     if exist "%%i" (
  4.         echo 文件 "%%i" 存在
  5.         del /f /q "%%i" && echo 删除文件 "%%i" 成功 || echo 删除文件 "%%i" 失败
  6.     ) else (
  7.         echo 文件 "%%i" 不存在
  8.     )
  9. ))>b.txt
复制代码
 楼主| 发表于 2014-4-22 20:18:47 | 显示全部楼层
回复 2# DAIC


    感谢,我先测试一下
 楼主| 发表于 2014-4-22 20:26:53 | 显示全部楼层
回复 2# DAIC
测试了应该是正常工作的,那么请问能不能加密码运行?防止误操作
发表于 2014-4-22 20:32:06 | 显示全部楼层
回复 4# 9one9
  1. @echo off
  2. set mypass=bathome
  3. set input=
  4. set /p input=请输入密码:
  5. if "%input%" neq "%mypass%" (
  6.     echo 密码错误
  7.     pause
  8.     exit
  9. )
  10. (for /f "delims=" %%i in (a.txt) do (
  11.     if exist "%%i" (
  12.         echo 文件 "%%i" 存在
  13.         del /f /q "%%i" && echo 删除文件 "%%i" 成功 || echo 删除文件 "%%i" 失败
  14.     ) else (
  15.         echo 文件 "%%i" 不存在
  16.     )
  17. ))>b.txt
复制代码
 楼主| 发表于 2014-4-22 22:32:25 | 显示全部楼层
回复 5# DAIC
多谢,研究学习中
 楼主| 发表于 2014-4-23 12:04:00 | 显示全部楼层
回复 5# DAIC


    经实际删除测试发现不是所有都能成功执行,因为我待删除列表的txt是自动生成的,里面涉及大小写,大小写不完全正确的提示文件存在,但是删除失败,这是为什么
发表于 2014-4-23 12:32:28 | 显示全部楼层
删除命令是不区分大小写的,比如有个文件 a.txt,你写成 del /f /q A.txt 是可以成功删除的。
 楼主| 发表于 2014-4-23 13:36:27 | 显示全部楼层
本帖最后由 9one9 于 2014-4-23 13:47 编辑

回复 8# Batcher


    我是说比如待删除文件是 x:\bat\MAC.mpg 但是列表里面可能是 x:\BAT\MaC.mpg 或者x:\bat\mac.mpg 那么好像就会提示文件存在,但是删除失败,我希望通配大小写
发表于 2014-4-23 14:10:20 | 显示全部楼层
回复 9# 9one9


del命令本来就是统配大小写的,你自己做个试验就知道了。
删除失败可能是其它原因

C:\>dir /b *.mpg
MAC.mpg

C:\>del /f /q "MaC.mpg"

C:\>dir /b *.mpg
找不到文件
 楼主| 发表于 2014-4-23 14:48:41 | 显示全部楼层
回复 10# Batcher


    我感觉默认来说绝对路径都是区别大小写的,而我能提供的文件列表确实是无法控制大小写,除大小写外都是正确的,这样应该是无法删除的吧
发表于 2014-4-23 15:07:35 | 显示全部楼层
回复 11# 9one9


你的感觉不太准

c:\>dir /b *.mpg
MAC.mpg

c:\>del /f /q "C:\MaC.mpg"

c:\>dir /b *.mpg
找不到文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 04:30 , Processed in 0.033192 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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