2010-05-05 80 views
1

我有一堆Powershell腳本,我需要從Perl運行。我有以下代碼,但由於某些原因Powershell腳本不會被調用。我已經嘗試了反向和系統命令從Perl執行Powershell

$path = "C:/Users/PSScript.ps1"; 
$pwspath = "c:/windows/system32/windowspowershell/v1.0/powershell.exe"; 

$output = `$pwspath -command $path`; 

system($pwspath -command $path); 

請幫我看看這裏。

+0

提示:嘗試添加'使用嚴格的;使用警告;'到腳本的頂部並重試。 – Ether 2010-05-05 02:17:40

+0

你確定你想反引號嗎?作爲運行該命令的結果,反引號用於捕獲打印到控制檯輸出的內容。 'system'更適合調用腳本。 – Zaid 2010-05-05 10:20:23

回答

0

你確定你的代碼格式正確嗎?你不應該用引號嗎?

system("$pwspath -command $path"); 

BACKTICK應該工作,嘗試:

my @stdout = `$pwspath -command $path`; 
print join("\n", @stdout),"\n"; 
+0

喜, 系統()的作品,但反引號犯規 嘗試以下 ' 「$ pwspath -command $ PATH」'; 系統(「$ pwspath -command $ path」) 任何想法反向,因爲我需要捕獲標準輸出然後格式化它 – Marlin 2010-05-05 02:44:14

1

您需要使用的,而不是-Command - 文件