Windows 从Perl中运行外部命令
我使用Doxygen生成HTML文档,然后运行Perl脚本来获取函数名 要运行Doxygen配置,我需要在cmd中运行Windows 从Perl中运行外部命令,windows,perl,Windows,Perl,我使用Doxygen生成HTML文档,然后运行Perl脚本来获取函数名 要运行Doxygen配置,我需要在cmd中运行Doxygen file\u name 但是我想从Perl运行所有东西 我试过这个密码 my $cmd = "perl -w otherscript.pl"; my $result = system("start $cmd"); 但它只是打开了一个cmd窗口。我需要直接通过Perl(不是Perl命令行,而是通过Perl IDE)执行cmd代码。有没有办法做到这一点?您可以使用系
Doxygen file\u name
但是我想从Perl运行所有东西
我试过这个密码
my $cmd = "perl -w otherscript.pl";
my $result = system("start $cmd");
但它只是打开了一个cmd窗口。我需要直接通过Perl(不是Perl命令行,而是通过Perl IDE)执行cmd代码。有没有办法做到这一点?您可以使用
系统
和启动
根据您在评论中的描述,我认为是因为您在将配置文件提供给Doxygen时没有使用正确的转义方法,所以它引发了这样一个错误:
错误:未找到配置文件C:SERSGHOSHBCD
试一试
my $result = `doxygen C:\\Users\\aghosh\\abcd`;
在两个反斜杠中,前一个用于转义后一个,以便Windows将其识别为目录分隔符。什么是
开始
??你是不是用backticks来代替系统调用的?“start”是指start cmd。它会弹出屏幕上的cmd窗口,为什么您希望它在其他窗口中运行?因为当我运行此命令时,我的$result=doxygen C:\Users\aghosh\abcd
;或者我的$result=doxygen“C:\Users\aghosh\abcd”
;编译器以错误形式给出错误:未找到配置文件C:SERSGHOSHBCD!但是从cmd来看,它工作得很好。我猜perl找不到文件路径是的。刚刚看到你的答案。你犯了一个愚蠢的错误,用“/”代替“\”同样有效。但我会使用“\\”因为它感觉更合适。谢谢