2016-07-14 33 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

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

相关问题