我試圖將得到FQDN在CMD線變量通過下面的方法,但它不是我提供的FQDNFor循環CMD越來越可變
fOR /F "tokens=4 delims= " %d in ('net config workstation ^| findstr /c:"Full Computer Name"') do set fqdn=%f
echo %fqdn%
我試圖將得到FQDN在CMD線變量通過下面的方法,但它不是我提供的FQDNFor循環CMD越來越可變
fOR /F "tokens=4 delims= " %d in ('net config workstation ^| findstr /c:"Full Computer Name"') do set fqdn=%f
echo %fqdn%
FOR /F "tokens=4 delims= " %d in ('net config workstation ^| findstr /I /c:"Full Computer Name"') do set "fqdn=%d"
echo %fqdn%
如果這是一個.BAT內或.cmd腳本,將變量的百分比加倍到%%d
。還請注意findstr
上的不區分大小寫開關。
net config
的輸出與語言相關。在德語窗口中,您需要token=3
,顯然是另一個搜索字符串(Vollständiger Computername
)。這裏是一個獨立於語言的解決方案:
@echo off
set "x="
for /f "skip=1 delims=" %%a in ('net config workstation') do if not defined x set "x=%%a"
for %%a in (%x%) do set fqdn=%%a
echo %fqdn%
第一for
獲取所需的行(第二行,無論語言),第二for
採取最後令牌線(不管有多少)。
如果你真的想直接做在命令行:
c:> set "fqdn="
c:> for /f "skip=1 delims=" %a in ('net config workstation') do @if not defined fqdn @for %b in (%a) do @set "fqdn=%b"
c:> echo %fqdn%
你問會在'%D',而不是'%F' – Stephan
唯一的令牌我不清楚地瞭解 – asngvas
定義一個標記('tokens = 4'),它是'%d',但你設置fqdn =%f'。 '%f'沒有定義。你應該使用'set fqdn =%d'。 – Stephan