在批处理文件中逐行读取txt

Posted

技术标签:

【中文标题】在批处理文件中逐行读取txt【英文标题】:Read a txt line by line in a batch file 【发布时间】:2012-05-04 03:47:56 【问题描述】:

这是我的问题。我有一个包含 100 个不同视频名称的 txt 文件(示例):

abc.mpg
def.mpg
ghi.mpg
xyz.mpg

我想使用一些命令一个一个地处理这些视频,并将结果放入一个同名的文件夹中(不带扩展名):

command1 abc.mpg
command2 abc.mpg
move results .\abc

我的问题是如何在批处理文件中使用 for 循环执行上述迭代。

【问题讨论】:

【参考方案1】:

命令是这样的,带有/F参数的FOR

FOR /F %i in (yourFile.txt) DO yourcommand %i

这从文本文件中一次读取一行并将值插入到 %i 参数中 然后调用 DO 关键字后指定的命令(该命令可以是另一个需要复制或移动操作的批处理)

【讨论】:

如果列表中的文件名可能包含空格,请在/F 之后添加"delims="(或"tokens=*"):FOR /F "delims=" %i IN … 请注意,如果您在yourFile.txt 周围加上双引号,FOR 将循环该文本而不是读取文件。 cmd 太混乱了。 ss64 FOR /F 的文档更详细地介绍了这一切。

以上是关于在批处理文件中逐行读取txt的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中逐行读取文件

在python中逐行读取大文件

DELPHI中逐行读取并复制

Python从txt文件中逐行读取数据

Python从txt文件中逐行读取数据

在Swift中逐行读取文本文件?