如何从批处理文件向perl脚本传递参数
因此,我想知道如何在windows中从.bat文件向perl脚本传递参数。我正在运行activeperl。如果你想知道为什么,我正在为awstats+iis自动建立日志索引 只要直接键入命令,我就可以做到这一点:如何从批处理文件向perl脚本传递参数,perl,batch-file,activeperl,awstats,Perl,Batch File,Activeperl,Awstats,因此,我想知道如何在windows中从.bat文件向perl脚本传递参数。我正在运行activeperl。如果你想知道为什么,我正在为awstats+iis自动建立日志索引 只要直接键入命令,我就可以做到这一点: awstats.pl -config:blahblah.com -update 我试着直接把它放到我的批处理文件中。我还尝试使用标准的批处理文件方式: awstats.pl /config:blahblah.com /update 我甚至尝试过这样做,认为破折号的解析方式与pe
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
所有这些都没有生成我在键入命令时获得的成功屏幕。是的,我停顿了一下,这样我可以验证
有什么想法吗?参数是否有明显的遗漏?尝试显式调用perl:
perl awstats.pl -config:blahblah.com -update
还要确保perl位于%PATH%中。尝试显式调用perl:
perl awstats.pl -config:blahblah.com -update
还要确保perl位于您的%PATH%中。问题在于批处理文件中,冒号变为等于
awstats.pl -config=blahblah.com -update
这很奇怪,因为命令行接受参数的冒号。也许它在批处理文件或其他文件中被神奇地忽略了。问题在于批处理文件,冒号变成了等号
awstats.pl -config=blahblah.com -update
这很奇怪,因为命令行接受参数的冒号。也许它在批处理文件或其他东西中被神奇地忽略了。我对批处理文件一无所知,但Perl附带的许多程序中都有批处理文件等价物。它们都是这样的,这是perl的-x开关的巧妙使用:
我对批处理文件一无所知,但Perl附带的许多程序中都有批处理文件等价物。它们都是这样的,这是perl的-x开关的巧妙使用:
不,我已经注册了指向perl解释器的point.pl的处理程序映射。很好的猜测。如果它是一个处理程序/扩展,给它一个不同的扩展,并注册到任何你喜欢的地方。并不是说你应该这样做,但是perl不关心你使用什么扩展。不,我现在工作得很好,请看我的答案。我现在每天早上2:30用批处理文件更新30个站点日志索引=不,我已经注册了指向perl解释器的point.pl的处理程序映射。很好的猜测。如果它是一个处理程序/扩展,给它一个不同的扩展,并注册到任何你喜欢的地方。并不是说你应该这样做,但是perl不关心你使用什么扩展。不,我现在工作得很好,请看我的答案。我现在每天早上2:30用批处理文件更新30个站点日志索引=隐马尔可夫模型。。。在开关和以下参数之间使用“=”或blank是perl解析其参数的标准方式。。。我想知道为什么在cmd shell中发出“:”时会被接受。运行perldoc Getopt::Long以获取血淋淋的细节。是的,我实际上从awstats文档中提取了“:”。也许cmd shell会自动修复它?嗯。。。在开关和以下参数之间使用“=”或blank是perl解析其参数的标准方式。。。我想知道为什么在cmd shell中发出“:”时会被接受。运行perldoc Getopt::Long以获取血淋淋的细节。是的,我实际上从awstats文档中提取了“:”。也许cmd shell会自动修复它?很有趣,但我一直在寻找一个更“窗口化”的解决方案,因为我们这里没有一个perl开发人员-而且未来的维护程序员更容易理解/update.interest,但我一直在寻找一个更“窗口化”的解决方案,因为我们这里没有一个perl开发人员,而且未来的维护程序员更容易理解/更新。