在批处理文件中逐行读取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的主要内容,如果未能解决你的问题,请参考以下文章