|
|
发表于 2015-1-3 17:45:27
|
显示全部楼层
本帖最后由 tmplinshi 于 2015-1-3 19:37 编辑
是因为 WIN7 里面的 ipconfig /all 命令输出的结果与 XP 不一样。
你贴的代码是判断有没有“ IP Address. . . . . . . . . . . . ”,你可以自己看一下 ipconfig /all 的输出结果,然后进行修改。
下面的代码 WIN7 测试有效(应该也适用XP):- @echo off
- Rem ===========扩展本地环境变量延迟===================
- setlocal enabledelayedexpansion
- title 获取本机IP及做好映射盘 Powered by xfp
- Rem '/*=========初始化设置=============*/
- set IP_addr=" IPv4 Address. . . . . . . . . . . " " IP Address. . . . . . . . . . . . "
- chcp 437 >nul
- Rem ===========取IPconfig中的IP信息===================
- Rem ==如果有多个IP或网卡,本程序只取第一个,因为取得第一个IP后,变量IP_addr已经被修改==
- for /f " skip=13 tokens=1,2 delims=:" %%i in ('ipconfig /all') do (
- for %%a in (%IP_addr%) do (
- if "%%i"=="%%~a" (
- set IP_addr=%%j
- goto ok
- )
- )
- )
- :ok
- Rem '/*===========结果输出===============*/
- GRAFTABL 936 >nul
- for /f "delims=(" %%a in ("%IP_addr%") do set IP_addr=%%a
- echo 你的IP地址为:%IP_addr%
- Rem ======获取IP地址中第三、四位作为变量映射,如IP 192.168.1.100即得到1和100,第三位需多个不同网段才用到,先写下来吧===
- set "Room="
- set "ID="
- for /f "tokens=3,4 delims=." %%i in ("%IP_addr%") do (
- set "Room=%%i"
- set "ID=%%j"
- echo 网段号是:!Room!
- echo 当前IP号是:!ID!
- )
-
- pause
复制代码 |
|