我有一個Perl程序,它做類似下面:運行在Perl的批處理文件(ActiveState的Perl的Windows環境)
#!/usr/bin/env perl
use strict;
use warnings;
my $exe = "C:\\project\\set_env_and_run.bat";
my $arg1 = "\\\\Server\\share\\folder1";
my $arg2 = "D:\\output\\folder1";
my $cmd = "$exe \"$arg1\" \"$arg2\"";
my $status = system("$cmd > c:\\tmp\\out.txt 2>&1");
print "$status\n";
我打電話的eval塊這個Perl代碼。當被調用時,我得到打印爲0的狀態,但批處理文件並未實際執行。這是什麼原因?上面編碼的「系統」調用的任何問題?
感謝, JITS
對不起,我把樣品c頌歌並錯過了反斜槓!已經在上面糾正了它。 – Jithesh 2010-05-25 19:08:56
你可以在Win32的perl文件路徑中使用正確的(正向)斜線? '我的$ exe ='C:/project/set_env_and_run.bat';'會很好地工作。 – daotoad 2010-05-25 20:08:35