gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:24:17 25 4
gpt4 key购买 nike

所以,我想知道如何将参数从 Windows 中的 .bat 文件传递​​给 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

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

有什么想法吗?关于参数,我有什么明显的遗漏吗?

最佳答案

我对批处理文件一无所知,但是 Perl 附带的许多程序在 Strawberry Perl 中都有等价的批处理文件。 .都是这个样子,是perl的巧妙运用的-x转变:

@rem = '--*-Perl-*--
@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
goto endofperl
:WinNT
perl -x -S %0 %*
if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';
...perl script goes here...
__END__
:endofperl

关于perl - 如何从批处理文件将参数传递给perl脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com