如何从批处理文件中将参数传递给perl脚本

时间:2012-04-05 00:32:09

标签: perl batch-file activeperl awstats

所以,我想知道如何从windows中的.bat文件传递参数到perl脚本。我正在运行perl perl。如果你想知道为什么,我正在为awstats + iis自动化日志索引。

我可以直接输入命令来做到这一点:

 awstats.pl -config:blahblah.com -update

我尝试直接将它放在我的批处理文件中。我也尝试使用标准的批处理文件方式:

 awstats.pl /config:blahblah.com /update

我甚至试过这个,认为破折号的解析方式不同于perl:

 awstats.pl /-config:blahblah.com /-update

所以我想我会尝试逃避破折号(当然是为了好玩):

  awstats.pl /%-config:blahblah.com /%-update

然后我尝试了上述组合,试图逃脱冒号:

 awstats.pl /config%:blahblah.com /update

这些都没有产生我在输入命令时获得的成功屏幕。是的,我有一个暂停,所以我可以验证......

有什么想法?有没有明显的东西我缺少参数?

3 个答案:

答案 0 :(得分:3)

我对批处理文件一无所知,但Perl附带的许多程序在Strawberry Perl中都有等效的批处理文件。它们都是这样的,这是对perl的{​​{1}}开关的巧妙使用:

-x

答案 1 :(得分:1)

问题出在批处理文件中,冒号变为等于。

 awstats.pl -config=blahblah.com -update

这很奇怪,因为命令行接受params的冒号。也许它在批处理文件或其他东西中被神奇地忽略了。

答案 2 :(得分:0)

尝试明确调用perl:

perl awstats.pl -config:blahblah.com -update

还要确保perl位于%PATH%。