Ответ 1
for /f "tokens=*" %%i in ('powershell /command "[System.Net.Dns]::GetHostByName((hostname)).HostName"') do set return=%%i
echo %return%
Я пытаюсь сохранить вывод команды powershell (запустить из пакета script) и использовать его в пакете script.
Не могли бы вы посоветовать мне, что делать?
Конец командной оболочки:
[System.Net.Dns]::GetHostByName((hostname)).HostName
Я хочу использовать вывод в пакете script.
Будет еще лучше, если я смогу получить полное имя компьютера/имя хоста/полное доменное имя (FQDN) из cmd, а не из powershell. Но полное имя компьютера не является конкатенацией переменных ComputerName и UserDNSDomain.
for /f "tokens=*" %%i in ('powershell /command "[System.Net.Dns]::GetHostByName((hostname)).HostName"') do set return=%%i
echo %return%
Вы можете сделать это в пакетном режиме, используя nslookup
, который выполняет тот же поиск DNS:
for /f "tokens=1*" %%a in ('nslookup hostname ^| findstr /i "name"') do set return=%%b
echo Hello '%return%'