2013-11-04 150 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很高興幫助! –