将powershell命令的输出保存在变量中并在批处理脚本中使用它?

时间:2014-08-14 10:07:40

标签: windows batch-file powershell fqdn

我要做的是保存powershell命令的输出(从批处理脚本运行)并在批处理脚本中使用它。

你能告诉我该怎么做吗?

电源外壳命令是:

[System.Net.Dns]::GetHostByName((hostname)).HostName

我想在批处理脚本中使用输出。

P.S。

如果我可以从cmd获取完整的计算机名/主机名/完全限定域名(FQDN)而不是PowerShell,那将更好。但是,完整的计算机名称不是ComputerName和UserDNSDomain变量的串联。

2 个答案:

答案 0 :(得分:11)

for /f "tokens=*" %%i in ('powershell /command "[System.Net.Dns]::GetHostByName((hostname)).HostName"') do set return=%%i
echo %return%

答案 1 :(得分:3)

您可以使用执行相同DNS搜索的nslookup批量执行此操作:

for /f "tokens=1*" %%a in ('nslookup hostname ^| findstr /i "name"') do set return=%%b
echo Hello '%return%'