我正在尝试使用此命令从CMD启动PowerShell。
powershell.exe -NoProfile -NoExit -command "& {$someVar = 'test'}"
如何在PowerShell中访问变量 someVar 。 MSDN说“脚本的结果作为反序列化的XML对象返回到父shell,而不是活动对象。” 。
答案 0 :(得分:0)
& {$someVar = 'test'}"
执行本地范围内的scriptblock,在执行scriptblock时删除该范围。
您需要在$global
- 范围(会话范围)
CMD> powershell.exe -NoProfile -NoExit -command "& {$global:someVar = 'test'}"
PS> $someVar
test
或使用点源. <script/scriptblock>
来执行脚本块,该脚本块运行当前范围内的所有内容(本例中为会话)
CMD> powershell.exe -NoProfile -NoExit -command ". {$someVar = 'test'}"
PS> $someVar
test
详细了解变量范围here