Pap*_*urf 3 powershell batch windows-command-prompt variables
我正在尝试在某些 .cmd 文件中获取主机的 FQDN。我们有脱节的 AD 域,所以"@echo %COMPUTERNAME%.%USERDNSDOMAIN%"
不起作用。我的意思是它有效,但返回错误的值。
我最终得到的解决方案是
powershell.exe -noninteractive -command[System.Net.Dns]::GetHostByName(($env:computerName)).HostName
它在命令行中工作正常。我试图将它放入我的 cmd 文件中的一个变量中:
FOR /F "tokens=* USEBACKQ" %%F IN (\`powershell.exe -noninteractive -command
[System.Net.Dns]::GetHostByName(($env:computerName)).HostName\`) DO (
SET var=%%F
)
ECHO %var%
Run Code Online (Sandbox Code Playgroud)
但是此时出现以下错误: ).HostName`) 是意外的。
我知道应该筛选某些内容,因为 cmd 和 powershell 都在解析这一行,但不知道筛选什么以及如何筛选。如何让这个开始工作?
小智 5
你需要逃避括号内的主题使用时FOR \F
FOR /F "tokens=* USEBACKQ" %%F IN (`powershell.exe -noninteractive -command [System.Net.Dns]::GetHostByName^(^($env:computerName^)^).HostName`) DO (
SET var=%%F
)
ECHO %var%
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11396 次 |
最近记录: |