所以,我想知道如何从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
这些都没有产生我在输入命令时获得的成功屏幕。是的,我有一个暂停,所以我可以验证......
有什么想法?有没有明显的东西我缺少参数?
答案 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%。