BAT文件处理文件列表

时间:2016-03-09 14:18:32

标签: windows batch-file

我需要创建一个BAT文件来处理文件列表(包括它们的完整路径)。我们假设我有一个名为filelist.txt的文本文件,其中包含以下内容:

C:\Temp\a.mp4
C:\Temp\b.mp4
D:\z.mp4
E:\Backup\s.mp4

使用BAT文件,如何读取filelist.txt,然后调用外部程序逐个处理?

process.exe "C:\Temp\a.mp4" <parameters> "C:\Temp\a.m4a"
process.exe "C:\Temp\b.mp4" <parameters> "C:\Temp\b.m4a"
process.exe "D:\z.mp4" <parameters> "D:\z.m4a"
process.exe "E:\Backup\s.mp4" <parameters> "E:\Backup\s.m4a"

每个文件的参数都相同。对于第二部分,我猜应该有一个FOR命令来删除冗余。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

for可以读取和解析(在有限程度上)文件的内容。

有关详细信息,请参阅其帮助(for /?)。

但是,未来是PowerShell,这种事情要容易得多:

gc filelistfile.txt | % { command.exe $_ }

答案 1 :(得分:0)

带有for选项的/f循环可用于逐行读取和处理文本文件。

delims=用于处理路径中可能存在的任何空格,第一个""是因为start认为它找到的第一组引号是窗口标题。

for /f "delims=" %%A in (filelist.txt) do start "" process.exe "%%A" <parameters> "%%A"