У меня есть следующая строка в попытке .BAT
файла получить строку UTC.
FOR /F "tokens=*" %g IN ('powershell -command "Get-Date -date (Get-Date).ToUniversalTime()-uformat %Y-%m-%dT%H_%M_%SZ"') do (SET VAR=%g)
, которая использует эту строку PowerShell, которая работает из командной строки.
powershell -command "Get-Date -date (Get-Date).ToUniversalTime()-uformat %Y-%m-%dT%H_%M_%SZ"
И я получаю сообщение об ошибке.
Y-dTM_g) was unexpected at this time.
Это часть более широкого пакетного файла, поэтому я не могу просто сделать это непосредственно в скрипте PowerShell.
Я получил первоначальное вдохновениеотсюда.
Как настроить вывод команд в виде переменной в командном файле
Обновление:
Попробовал этот кодбезрезультатно.
test.bat
FOR /F "tokens=*" %%g IN ('powershell -command "Get-Date -date (Get-Date).ToUniversalTime()-uformat %Y-%m-%dT%H_%M_%SZ"') do (
SET "VAR=%%g"
)
echo %VAR%
Получение выходных данных.
D:\foo>FOR /F "tokens=*" %g IN ('powershell -command "Get-Date -date (Get-Date).ToUniversalTime()-uformat m-H_SZ"') do (SET "VAR=%g" )
D:\foo>(SET "VAR=m-H_SZ" )
D:\foo>echo m-H_SZ
m-H_SZ
D:\foo>