2016-10-29 76 views
-5

我在寻找一个批处理文件从一个txt文件列表中删除JPG文件删除JPG格式的我在寻找一个批处理文件从一个txt文件列表

E:\测试\ 1有7张图片1.JPG到7.JPG LIST.TXT有一个文件列表中删除1.JPG,2.JPG

感谢您的帮助

我发现的代码,将在我的列表中复制.jpgs。 txt到另一个文件夹。 而不是复制我需要它删除的,在一个

@echo off 
set src_folder=E:\test\1 
set dst_folder=E:\test\2 
set file_list=E:\test\list.txt 

if not exist "%dst_folder%" mkdir "%dst_folder%" 

for /f "delims=" %%f in (%file_list%) do (
xcopy "%src_folder%\%%f" "%dst_folder%\" 
) 

我发现使用Excel 列A德尔 塔B图像 列C:连接(A1,B1)的列表中选择此溶液以及复制和粘贴列C批处理文件在与图像相同的目录中运行。

+0

这个网站不是一个代码写作服务btw – Carcigenicate

+0

你可以发布你到目前为止尝试过的代码,然后我们可以改进它。 – Ukimiku

回答

1

这应做到:

@Echo Off 
(Set file_list=E:\test\list.txt) 
For /F "UseBackQ Delims=" %%A In ("%file_list%") Do If Exist "%%~A" Del "%%~A" 

你甚至可以拖动和你LIST.TXT拖放到这一行批处理脚本。

@For /F "UseBackQ Delims=" %%A In ("%~1") Do @(If Exist "%%~A" Del "%%~A") 
+0

'set'命令行括号的用途是什么?让我推荐使用语法'set“file_list = E:\ test \ list.txt”'代替... – aschipfl

+0

你的例子中双引号的用途是什么? – Compo

+1

“set”name = value“'中的括号通常用于避免附加不需要的空格并防止解释特殊字符。 – user2956477

0

这可以用一个单一的线批处理文件来完成:

@for /F "usebackq delims=" %%I in ("E:\test\list.txt") do @del "%%~I" 2>nul 

命令FOR处理从指定的文本文件的每一行,并执行命令DEL从读出的行文件。

删除文件前没有进行文件存在检查。而是通过将错误消息从句柄STDERR重定向到设备NUL来删除错误消息。

为了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。

  • del /?
  • for /?

阅读也是微软的文章Using command redirection operators

相关问题