cmd批处理重定向(追加)到变量给出的文件

时间:2015-10-26 11:19:07

标签: batch-file cmd

由于某些未知原因,我的批处理脚本中的以下代码

:subroutine    
IF /I %firstPass%==true head -n 1 "%1%" >> "%exFilename%"

呈现为

IF /I true == true head -n 1 ""request_sql.csv"exFilename"

问题是重定向>>辍学,命令绊倒了。使用纯字符串来识别文件可以正常工作。会感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

                                   first argument = "request_sql.csv"
                                   vv
IF /I %firstPass%==true head -n 1 "%1%" >> "%exFilename%"
                                     ^......^
                                      undefined variable

你得到了

IF /I true == true head -n 1 ""request_sql.csv"exFilename"

由于引用第一个参数的正确方法是%1,没有关闭百分号,您应该使用

IF /I "%firstPass%"=="true" head -n 1 "%~1" >> "%exFilename%"

其中%~1是没有引号的第一个参数的内容,因为您将它们包含在命令中