求大神解释Windows批处理命令
发布网友
发布时间:2024-10-22 11:25
我来回答
共1个回答
热心网友
时间:2024-11-08 02:43
COLOR 0A //设置颜色
CLS //清屏
@ECHO Off //关闭回显
Title 查询局域网内在线电脑IP //设置标题
:send //做了个名为"send"的标记(lable)
@ECHO off&setlocal enabledelayedexpansion // 关闭回显 并开启命令拓展
ECHO 正在获取本机的IP地址,请稍等...//显示"xxxxx"
===========重点=============
乙for /f "tokens=3 skip=2 delims=: 甲" %%i in ('nbtstat -n') do (
丙set "IP=%%i"
丁set IP=!IP:~1,-1!
ECHO 本机IP为:!IP!
goto :next
)
------------------执行流程梳理--------------
甲 nbtstat -n 显示连接信息,此信息将被for处理
乙.用For指定处理信息为1返回数据中以":(冒号)"隔开的第三组数据跳过两个字符
丙.将他们赋值给"IP"
丁.将丙中数据的首行首列值赋值给"!IP"
回显 丁中数据..
跳到next中继续
-----------------------------------------
我看了下,其实下面和上面差不多
差别在于下面执行的是net view命令
你要读懂他们,先搞懂nbtstat和net view这两个命令的用法
具体可以在cmd中输入nbtstat /? 和 help net view
.:next
for /f "delims=. tokens=1,2,3,4" %%i in ("%IP%") do set range=%%i.%%j.%%k
ECHO.&ECHO 正在获取本网段内的其它在线计算机名,请稍等...
ECHO 本网段【%range%.*】内的计算机有:
for /f "delims=" %%i in ('net view') do (
set "var=%%i"
::查询在线计算机名称
if "!var:~0,2!"=="\\" (
set "var=!var:~2!"
ECHO !var!
ping -n 1 !var!>nul
))
ECHO.
ECHO 正在获取本网段内的其它在线计算机IP,请稍等...
for /f "skip=3 tokens=1,* delims= " %%i in ('arp -a') do ECHO IP: %%i 正在使用
ECHO.
ECHO 查询完毕,按任意键退出...
pause>nul