如何在批处理程序中将文件作为参数传递

时间:2014-01-14 05:34:09

标签: batch-file arguments

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

1 个答案:

答案 0 :(得分:0)

此代码段将遍历第一个命令行参数(%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"