【问题标题】:How to pass file as an argument in a batch program如何在批处理程序中将文件作为参数传递
【发布时间】:2014-01-14 05:34:08
【问题描述】:

我是批处理文件的新手,我需要编写一个以 test1.txt 作为参数的批处理程序
并输出 test2.txt。 我在这里搜索并检查过,但找不到任何将文件作为参数的示例代码。 请帮帮我。

【问题讨论】:

    标签: batch-file arguments


    【解决方案1】:

    这个 sn-p 将遍历第一个命令行参数 (%1) 的行和作为第二个参数 (%2) 的输出文件。

    FOR /F %%l IN (%~1) DO (
        @ECHO %%l
    ) > "%%~2"
    

    该示例仅复制输入(而不是过滤或转换它)。如果您想访问输入行的各个部分,可以将其分配给一个变量并使用 CMD 可用的一些替换运算符(在 for /? 中查找“环境变量替换”)。

    此示例过滤掉以哈希 (#) 开头的行。

    SETLOCAL ENABLEDELAYEDEXPANSION
    FOR /F %%l IN (%~1) DO (
        SET "LINE=%%~l"
        IF NOT "!LINE:~1:1!"=="#" ECHO %%l
    ) > "%%~2"
    

    【讨论】:

      猜你喜欢
      • 2011-10-05
      • 2021-06-04
      • 1970-01-01
      • 2010-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多