perl调用不管道参数到可执行文件

时间:2017-03-06 09:08:26

标签: perl arguments c-preprocessor

我打电话给cmd:

perl ScriptGen.pl Target.c %PreProcessorPath%\preproc.exe Arg1 Arg2 > clean.c

我得到的错误意味着Arg1和Arg2未正确传递给预处理器。

我想通过将目标文件和预处理程序路径本身作为perl脚本的参数来调用此perl脚本,而Arg1 Arg2是preproc理解的perl脚本的参数。

编辑:有一个

my $cmd = shift @ARGV 

在脚本开始时解析参数,然后脚本使用它。

1 个答案:

答案 0 :(得分:1)

这是我的建议:

您可以使用batchfile而不是在一行中使用applications的几个参数;

创建一个批处理文件 - scriptgen.bat

 SETPATH=%PATH%;%PreProcessorPath%\preproc.exe  
 call preproc.exe %1 %2  
 rem %1 = Arg1 %2 = Arg1  %3 = Target.c 
 perl -w ScriptGen.pl %3 %1 %2 > clean.c

在MS-dos提示符下运行:

 scriptgen.bat Arg1 Arg2 Arg3