2013-11-04 152 views
1

我试着通过设置一个变量并打印它来运行一个简单的powershell命令。在命令行上执行一个简单的powershell命令

这就是我想做的事:

powershell -command "& {$name=\"hi\"; echo $name}" 

但它失败:

The string is missing the terminator: ". 
    + CategoryInfo   : ParserError: (:) [], ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString 

的调用运营商(&)正常工作与命令如:

powershell -command "& {&echo hi}" 

我读了关于调用操作符以及如何使用-command选项执行命令并使用-File选项执行脚本等。它们按预期工作。但是我的设置变量并按上述方式打印它的尝试不起作用。我怀疑-command只与命令一起使用。任何想法如何实现我在上面做什么?

回答

2

在DOS这个工程:

powershell -command "& {$name='hi'; echo $name}" 

而且你的代码工作。

从PowerShell控制台使用此:

powershell -command {$name='hi'; echo $name} 
+0

我的坏!我的实际命令有点复杂。我发布的是一个简化的例子。我在导致问题的命令块中有调用操作符。谢谢您的帮助! – user2953070

+0

@ user2953070很高兴帮助! –