我有一个使用invoke-request获取远程ID字符串的脚本。如何在.bat脚本中检索instanceID的值并将其设置为(SET instanceId)
powershell $instanceId =(Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/instance-id).Content exit
特恩克斯
答案1
- 该变量未在 PoSh 中设置 - 而只是输出。
- 批处理将 powershell 命令包装在 /f 循环的解析中并设置批处理变量。
@Echo off
For /f "usebackqdelims=" %%A in (
`Powershell.exe -nologo -NoProfile -command "(Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/instance-id).Content"`
) Do Set InstanceID=%%A
Echo InstanceID=%InstanceID%
Pause