Bagaimana cara mendapatkan string dari Powershell dalam skrip batch (Windows)?

1

Saya memiliki skrip yang menggunakan permintaan-permintaan untuk mendapatkan string ID jarak jauh. Bagaimana saya bisa mengambil nilai instanceID dan mengaturnya ke (SET instanceId) dalam skrip .bat

powershell $instanceId =(Invoke-WebRequest -Uri http://169.254.169.254/latest/meta-data/instance-id).Content exit

TNKS

Sam Gomari
sumber

Jawaban:

1
  • Variabel tidak diatur dalam PoSh - tetapi hanya keluaran.
  • Batch membungkus perintah PowerShell dalam parsing untuk / f loop dan menetapkan variabel batch.

@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
Lotings
sumber