在 MS 命令提示符下逐行重定向文件

Redirecting file line by line in MS command prompt

我很惊讶我以前从来没有这样做过,或者如果我 "cheated" 使用 vbs、Python 或类似的东西可能。无论如何,在命令 shell 中,我想从磁盘加载一个文件,然后对于该文件中的每一行,调用一个参数等于(或构成文件的一部分)行的程序

所以我想为文件中的每一行调用一个程序mycommand。我想对 mycommand:

的最后一个参数(参数 c)中的文件输出进行字面串联

mycommand -a arg1 -b arg2 -c < myFileWithArgParameterLineByLine.txt

有没有简单的方法可以做到这一点,还是我必须编写批处理脚本?

谢谢

命令行上:

for /f "usebackq delims=" %I in ("txtfile.txt") do mycommand -a arg1 -b arg2 -c %I

在批处理脚本中,执行相同的操作,但使用 %%I

@echo off
setlocal

for /f "usebackq delims=" %%I in ("txtfile.txt") do mycommand -a arg1 -b arg2 -c %%I

在 cmd 控制台中执行 help for 以获取更多信息。如果您需要显式引用参数 C 以确保它被视为单个标记,或者如果参数可能包含特殊字符(如竖线或符号),则 -c "%~I".

从 cmd 控制台:

for /f "usebackq delims=" %I in ("txtfile.txt") do mycommand -a arg1 -b arg2 -c "%~I"