中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 10:06
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何判断系统的版本和求所有版本的ipconfig命令 查看 2,039 回复 15
楼 主 如何判断系统的版本和求所有版本的ipconfig命令 发表于 2008-07-26 14:15 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
@echo off
for /F "tokens=3 delims= " %%i in ('ver') do (
if /i %%i==2000 set ipconfig=ipconfig_%%i.exe & goto start
if /i %%i==XP set ipconfig=ipconfig_%%i.exe & goto start
if /i %%i==2003 set ipconfig=ipconfig_%%i.exe & goto start
if /i %%i==Vista set ipconfig=ipconfig_%%i.exe & goto start
goto nover
)

:start
echo %ipconfig%
::%ipconfig% /all >ip.ini
goto end

:nover
echo 未知系统版本
goto end
:end
pause

我这样写的,还有更简单的方法吗?

你们谁有windwos 2003和Vista的系统,上传一个ipconfig.exe命令给我,顺便帮我试试这批是不是执行正常,感谢了!

我实际上是想ipconfig/all命令生成INI格式的文件,想了很久都不知怎么做,所以就修改ipconfig命令来生成。但是每个操作系统的ipconfig命令不通用的。
2 发表于 2008-07-26 14:31 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Microsoft Windows
(C) Copyright 1985-2003 Microsoft Corp.

C:\>ver

Microsoft Windows


Win2003 EE
3 发表于 2008-07-26 14:41 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
晕, 这样我那批在2003就不能正常运行了,
帮我试试2003有没有 getmac 命令,麻烦上传一个ipconfig.exe命令给我,麻烦你了

[ Last edited by yangzhiyi on 2008-7-26 at 02:46 PM ]
4 发表于 2008-07-26 14:44 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
5.0* 是win2000
5.1* 是winXP
5.2* 是win2003
5.3* 是win Vista ?
5 发表于 2008-07-26 14:44 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
经测试,Win2003有getmac命令,ipconfig.exe无法在XP直接运行,需要dll文件的支持。
6 发表于 2008-07-26 14:47 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
是啊,所以我才要每个系统版本的ipconfig命令啊
再帮我试试 getmac /v /fo csv /nh 结果是不是跟这差不多

"本地连接","Realtek RTL8139/810x Family Fast Ethernet NIC","00-0E-A6-CF-**-**","\Device\Tcpip_{7FC85BA4-3190-49BC-9CBA-B5AFFDCF339E}"
"本地连接 3","VNN VNC Adapter","06-00-9B-A0-06-00","媒体被断开"


即:"连接名","网卡","物理地址:,"传输名称"

[ Last edited by yangzhiyi on 2008-7-26 at 02:51 PM ]
7 发表于 2008-07-26 14:48 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
net config work

Return Values

Value Operating System
NT40 Microsoft Windows NT 4.0
2000 Microsoft Windows 2000
2002 Microsoft Windows XP
2003 Microsoft Windows 2003
8 发表于 2008-07-26 14:51 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
9 发表于 2008-07-26 14:56 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
再帮我试试 getmac /v /fo csv /nh 结果是不是跟这差不多

"本地连接","Realtek RTL8139/810x Family Fast Ethernet NIC","00-0E-A6-CF-**-**","\Device\Tcpip_{7FC85BA4-3190-49BC-9CBA-B5AFFDCF339E}"
"本地连接 3","VNN VNC Adapter","06-00-9B-A0-06-00","媒体被断开"


即:"连接名","网卡","物理地址:,"传输名称"


是的,很类似,不过我这里是英文版的,呵呵。
10 发表于 2008-07-26 14:58 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
Originally posted by HAT at 2008-7-26 14:51:
ipconfig_Win2003.zip

http://upload.cn-dos.net/img/642.zip


谢谢
11 发表于 2008-07-26 15:27 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
改成这样不知行不行,vista 的版本号可能是 6.0.***
@echo off
ver | find "5.0" >nul && goto 2000
ver | find "5.1" >nul && goto xp
ver | find "5.2" >nul && goto 2003
ver | find "6.0" >nul && goto vista
goto nover
:2000
echo 2000
goto end

:xp
echo xp
goto end

:2003
echo 2003
goto end

:Vista
echo Vista
goto end

:nover
echo 未知系统版本
goto end

:end
pause

或者这样
@echo off
ver | find "5.0" >nul && (set ipconfig=ipconfig_2000.exe & goto start)
ver | find "5.1" >nul && (set ipconfig=ipconfig_xp.exe & goto start)
ver | find "5.2" >nul && (set ipconfig=ipconfig_2003.exe & goto start)
ver | find "6.0" >nul && (set ipconfig=ipconfig_vista.exe & goto start)
goto nover

:start
echo %ipconfig%
::%ipconfig% /all >ip.ini
goto end

:nover
echo 未知系统版本
goto end

:end
pause

[ Last edited by yangzhiyi on 2008-7-26 at 04:02 PM ]
12 发表于 2008-07-27 22:35 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
求Vista 系统的ipconfig.exe 命令
13 发表于 2008-07-28 01:53 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
for /f "tokens=3" %%a in ('ver') do set ipconfig=ipconfig_%%a.exe&goto start 
goto nover
:start
echo %ipconfig%
::%ipconfig% /all >ip.ini
goto end
:nover
echo 未知系统版本
:end
pause
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
14 发表于 2008-07-28 18:58 ·  中国 广东 茂名 电信
中级用户
★★
积分 261
发帖 123
注册 2006-06-06 19:23
20年会员
UID 56648
状态 离线
Originally posted by pusofalse at 2008-7-28 01:53:
for /f "tokens=3" %%a in ('ver') do set ipconfig=ipconfig_%%a.exe&goto start 
goto nover
:start
echo %ipconfig%
::%ipconfig% /all >ip.ini
goto end
:nover
echo 未知系 ...


2003版的ver Microsoft Windows 没有2003字样,所以没用,我也只要那几个版本就行了,不过也从它学到了简单的得到是什么版本的系统方法了,每个系统版本应该都有的,我记得98的是4呢。就找.就行。

哎,今天找到的vista系统的ipconfig.exe了,打开看了一下,它没有信息表的了,所以没法改,这方法又没有用了。
15 发表于 2008-07-28 19:58 ·  中国 广东 东莞 电信
初级用户
积分 22
发帖 11
注册 2008-07-10 21:36
18年会员
UID 121337
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion>%temp%\ver.txt
for /f "delims=" %%i in (%temp%\ver.txt) do (set/a n+=1&echo %%i>%temp%\!n!.txt)
for /f "tokens=3" %%i in (%temp%\!n!.txt) do (
if %%i equ 6.0 echo Your system is vista
)
论坛跳转: