【问题标题】:Redirecting file line by line in MS command prompt在 MS 命令提示符下逐行重定向文件
【发布时间】:2015-11-23 02:06:05
【问题描述】:

我很惊讶我以前从未这样做过,或者如果我使用 vbs、Python 或类似工具“作弊”了。无论如何,在命令外壳中,我想从磁盘加载一个文件,然后对于该文件中的每一行,调用一个程序,其参数等于(或构成文件的一部分)该行

所以我想为文件中的每一行调用一个程序 mycommand。我想将文件输出与 mycommand 的最后一个参数(参数 c)进行文字连接:

mycommand -a arg1 -b arg2 -c

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

谢谢

【问题讨论】:

    标签: windows batch-file redirect command-prompt


    【解决方案1】:

    在命令行上:

    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"
    

    【讨论】:

      猜你喜欢
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 2015-03-28
      相关资源
      最近更新 更多