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

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

我有批量删除某些文件的需求,文件路径保存为一个TXT,文件路径之间都换行处理,怎么写语句能够批量删除这些文件,然后将操作结果,例如文件是否存在,是否成功删除的信息输出到另外一个TXT里

  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
复制代码

TOP

回复 2# DAIC


    感谢,我先测试一下

TOP

回复 2# DAIC
测试了应该是正常工作的,那么请问能不能加密码运行?防止误操作

TOP

回复 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
复制代码

TOP

回复 5# DAIC
多谢,研究学习中

TOP

回复 5# DAIC


    经实际删除测试发现不是所有都能成功执行,因为我待删除列表的txt是自动生成的,里面涉及大小写,大小写不完全正确的提示文件存在,但是删除失败,这是为什么

TOP

删除命令是不区分大小写的,比如有个文件 a.txt,你写成 del /f /q A.txt 是可以成功删除的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 9one9 于 2014-4-23 13:47 编辑

回复 8# Batcher


    我是说比如待删除文件是 x:\bat\MAC.mpg 但是列表里面可能是 x:\BAT\MaC.mpg 或者x:\bat\mac.mpg 那么好像就会提示文件存在,但是删除失败,我希望通配大小写

TOP

回复 9# 9one9


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

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

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

C:\>dir /b *.mpg
找不到文件
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 10# Batcher


    我感觉默认来说绝对路径都是区别大小写的,而我能提供的文件列表确实是无法控制大小写,除大小写外都是正确的,这样应该是无法删除的吧

TOP

回复 11# 9one9


你的感觉不太准

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

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

c:\>dir /b *.mpg
找不到文件
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表