Board logo

标题: [文本处理] 批处理如何删除指定txt文本里列出的文件 [打印本页]

作者: liuwl03    时间: 2010-2-9 11:05     标题: 批处理如何删除指定txt文本里列出的文件

本帖最后由 pcl_test 于 2016-11-4 16:37 编辑

各位大哥
如果批处理删除指定TXT文件里文件列表?
例如我有一个txt文件,里面指定了一些文件的路径,如
2008\10\14\1142524788a.jpg
2008\10\14\1150304040a.jpg
2008\10\14\152307891a.jpg
2008\10\14\1526555063a.jpg
2008\10\16\1126291496a.jpg
2008\10\16\1132173253a.jpg
2008\10\16\1440493715a.jpg
2008\10\18\1223436893a.jpg
2008\10\20\1212221281a.jpg
2008\10\20\1213587712a.jpg

如何用批处理把它们删除。
因为文件实在太多,谢谢了!
作者: liuwl03    时间: 2010-2-9 11:25

没人知道吗?救命呀!
作者: batman    时间: 2010-2-9 11:39

是要删除2008文件下所有的jpg吗?,如是就在2008下运行下面的命令:
del /s /q /f *.jpg
作者: batman    时间: 2010-2-9 11:42

如果是要删除txt列表中的文件,一个for也解决了:
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do del /q "%%a"
复制代码

作者: liuwl03    时间: 2010-2-9 11:56

原帖由 batman 于 2010-2-9 11:42 发表
如果是要删除txt列表中的文件,一个for也解决了:@echo off
for /f "delims=" %%a in (a.txt) do del /q "%%a"


呵呵,可以了。
果然是高手如云呀,谢谢啦。
作者: liuwl03    时间: 2010-2-9 12:01

原帖由 batman 于 2010-2-9 11:42 发表
如果是要删除txt列表中的文件,一个for也解决了:@echo off
for /f "delims=" %%a in (a.txt) do del /q "%%a"


版主,如果我要先把那些文件备份到一个指定的文件夹里再删除的话,是怎么写呢?
作者: Seter    时间: 2010-2-9 12:02

@echo off
for /f "delims=" %%a in (a.txt) do copy "%%a" .... &del /q "%%a"
....为拷贝到哪里
作者: liuwl03    时间: 2010-2-9 12:07

原帖由 Seter 于 2010-2-9 12:02 发表
@echo off
for /f "delims=" %%a in (a.txt) do copy "%%a" .... &del /q "%%a"
....为拷贝到哪里


谢谢                                                                                                [url=space.php?uid=16298]Seter[/url] 组长。OK了。
作者: anoki    时间: 2010-2-9 13:14

大将出马,小兵没的出手~_~
呵呵,坛子里人都很热心!
作者: hfg1977    时间: 2010-2-12 05:24

原帖由 liuwl03 于 2010-2-9 12:01 发表


版主,如果我要先把那些文件备份到一个指定的文件夹里再删除的话,是怎么写呢?


你直接说移动不就行了!! 晕死了.

  1. for /f "tokens=1* usebackq delims=" %%a in ("a.txt") do move "%%a" "%despath%"
复制代码

作者: xt0883    时间: 2012-9-13 14:09

原来这么简单,学习了
作者: xt0883    时间: 2012-9-13 14:33

@echo off
echo 请先将*.txt重命名为a.txt并和批处理在同一目录下,文档里的文件名不能在同一行并要有后缀名
set /p lj=请输入要拷贝到的路径(X:\文件夹):
md "%lj%"
for %%i in (e f g) do (echo 正在%%i\中搜索......
for /f "delims=" %%a in (a.txt) do copy "%%a" "%lj%")
pause

我改成这样就复制不了大文件,为什么,请指教下




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