希望获取我网络上另一台PC的主机名,并将其分配给批处理文件中的所有变量。
我希望使用类似于以下解决方案的东西:
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
答案 0 :(得分:0)
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地址块(private IP address range)中的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"