【发布时间】:2019-06-14 08:26:47
【问题描述】:
如何将多个值从 powershell 脚本返回到调用它的批处理文件?
我有一个返回多个值的 powershell 脚本。我想从批处理文件中调用它,并将每个单独的值放入批处理文件中的单独变量中。
只能返回一个值
powershell 代码(pstest.ps1):
$p1=11
$p2=22
$p3=33
exit
批处理文件:
powershell .\pstest.ps1
:: now I'd like to get those 3 returned values
:: into 3 individual variables so that I can do something like this:
@echo First is %p1%, Second is %p2%, Third is %p3%
所以,它应该显示这个:
First is 11, Second is 22, Third is 33
【问题讨论】:
-
@Lee_Dailey:从
cmd.exe调用的PowerShell 脚本总是在子进程 中运行,因此它无法设置调用者将看到的环境变量。 -
我可能有一个高级的时刻,但我没想到 Powershell 代码会输出任何东西。当然,您只是为变量设置值,在设置变量时通常不会在脚本语言中输出。
-
@Lee_Dailey:是的,您可以持久为future
cmd.exe会话设置一个环境变量——但这不是当前的用例。 -
@mklement0 - 啊!我认为在父范围内创建了 EnvVar。感谢您的澄清。 [咧嘴]
标签: powershell batch-file