2016-07-14 36 views
0

我試圖通過PERL將參數傳遞給PowerShell腳本,然後保留輸出以供稍後在腳本中使用。我似乎無法得到它的工作。如何將參數從PERL傳遞給Powershell並保留輸出?

PERL

$var= 1000; 

my @output = `powershell.exe C:\\Workspace\\Utilities\\pathtoscript.ps1`.` $var`; 
foreach (@output) 
{ 
    print $_; 
} 

PowerShell腳本看起來好像它不接收參數失敗。 powershell腳本應該使用該值並根據原始值確定一個新值,並將其傳遞迴PERL以便稍後在PERL腳本中使用。

我重視的是我的嘗試另一個例子,這也無法在相同的

備用腳本

$center = 1000; 
print "Getting business unit...\n"; 
my $renamecmd = 'Powershell.exe -executionpolicy remotesigned -File C:\Workspace\Utilities\get_business_unit.ps1'." $center"; 
my @output = `$renamecmd`; 
foreach (@output) 
{ 
    print $_; 
} 

提前感謝!

+0

我不Perl的,但假設是反引號中的Bash調用這樣的命令,你調用一個命令沒有參數,並試圖運行該變量,就像它是另一個命令一樣。然後將結果連接在一起。這看起來不像它會起作用。不過,通過「不正確」解釋「你」的意思,應該發生什麼以及實際發生了什麼。沒有人可以猜到出了什麼問題。 – TessellatingHeckler

+0

更新謝謝你的回覆 –

回答

1

我想通了...... 我還包裹在一個機能的研究

sub getvalue{ 
print "Getting value...\n"; 
my $renamecmd = 'Powershell.exe -executionpolicy remotesigned -File C:\Workspace\Utilities\pathtofile.ps1'." $val"; 
my @output = `$renamecmd`; 
foreach (@output) { 
    print $_; 
} 
} 
+0

別忘了接受你自己的回答 –

相關問題