希望在我的网络上获取另一台电脑的主机名,并将其分配给一个批处理文件中的所有变量。
我希望使用类似于以下解决方案的东西:
FOR /F "usebackq" %%i IN (`hostname`) DO SET MYVAR=%%i
for /f "tokens=2 delims=: " %%i in ('nslookup 192.168.178.1^|find "Name:"') do set name=%%i
SET "MYVAR="
for /f "tokens=2" %%i in ('ping -n 1 -a 192.168.178.1') do if not defined MYVAR SET "MYVAR=%%i"
上述解决方案适用于以下 IP 地址块(私有 IP 地址范围)中的IP 地址:
10.0.0.0
至 10.255.255.255
172.16.0.0
至 172.31.255.255
192.168.0.0
至 192.168.255.255
编辑。这返回PCNAME.home
.. 有没有办法让结果只是PCNAME
没有“ .home
”的结尾?
以下代码片段甚至处理ping /a
由于某些原因未将 IP 地址解析为主机名的情况。
SET "MYIP=192.168.178.1"
SET "MYVAR="
for /f "tokens=2" %%i in ('ping -n 1 -a %MYIP%') do if not defined MYVAR SET "MYVAR=%%i"
if NOT "%MYIP%"=="%MYVAR%" for /f "delims=." %%i in ("%MYVAR%") do SET "MYVAR=%%i"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句