问题如上,我的解决方法也算是误打误撞的给解决了。
先上代码:[复制下面到记事本中,保存为*.bat文件即可使用]
找到IP地址,并分割为四部分后保存到变量中。并将最末尾的数字进行减1操作。192.168.1.2减一后为192.168.1.1
for /f "tokens=16*" %%1 in ('ipconfig ^| find /I "192.168.116"') do (for /f "tokens=1,2,3* delims=." %%i in ("%%1") do (set /a "a=%%i" &&set /a "b=%%j"&&set /a "c=%%k"&&set /a "d=%%l-1"))
set e=%a%.%b%.%c%.%d%
echo %e%
这个代码,可能新手会感到太过于繁琐。但是这也没有办法,cmd命令中执行的所有的代码都是字符串,想将字符串转化为实数类型,然后数值计算后再转换为字符串类型是比较难的。因为据我百度知,cmd好像没有这种命令。
代码解释:
1-通过ipconfig ^| find /I "192.168.116
调出整机IP信息,然后使用find
命令查询。
2-查询到后通过"tokens=1,2,3* delims=."
参数进行筛选,得到四个保存在%%i %%j %%k %%l
的字符串,后会末尾进行减一的数值计算。[我也不太清楚为什么可以执行,未深究]
3-后通过set e=%a%.%b%.%c%.%d%
重新组合成完整IP地址,后通过echo %e%
打印在屏幕上。
如有可以百度或留言,我一般会在三天内对你回复。