我试图通过下面的方法获取cmd行中的fqdn作为变量,但它没有提供我的FQDN
fOR /F "tokens=4 delims= " %d in ('net config workstation ^| findstr /c:"Full Computer Name"') do set fqdn=%f
echo %fqdn%
答案 0 :(得分:0)
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
上的不区分大小写的开关。
答案 1 :(得分:0)
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
获取该行的 last 标记(无论有多少)有)。
如果你真的想直接在命令行上这样做:
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%