Board logo

标题: 如何判断系统的版本和求所有版本的ipconfig命令 [打印本页]

作者: yangzhiyi     时间: 2008-7-26 14:15    标题: 如何判断系统的版本和求所有版本的ipconfig命令

@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命令不通用的。

作者: HAT     时间: 2008-7-26 14:31
Microsoft Windows [Version 5.2.3790] (C) Copyright 1985-2003 Microsoft Corp. C:\>ver Microsoft Windows [Version 5.2.3790]
Win2003 EE

作者: yangzhiyi     时间: 2008-7-26 14:41
晕, 这样我那批在2003就不能正常运行了, 帮我试试2003有没有 getmac 命令,麻烦上传一个ipconfig.exe命令给我,麻烦你了 [ Last edited by yangzhiyi on 2008-7-26 at 02:46 PM ]

作者: yangzhiyi     时间: 2008-7-26 14:44
5.0* 是win2000 5.1* 是winXP 5.2* 是win2003 5.3* 是win Vista ?

作者: HAT     时间: 2008-7-26 14:44
经测试,Win2003有getmac命令,ipconfig.exe无法在XP直接运行,需要dll文件的支持。

作者: yangzhiyi     时间: 2008-7-26 14:47
是啊,所以我才要每个系统版本的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 ]

作者: HAT     时间: 2008-7-26 14:48
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

作者: HAT     时间: 2008-7-26 14:51
ipconfig_Win2003.zip rthost.fam.cx/cndos- ...

作者: HAT     时间: 2008-7-26 14:56
再帮我试试 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","媒体被断开" 即:"连接名","网卡","物理地址:,"传输名称"
是的,很类似,不过我这里是英文版的,呵呵。

作者: yangzhiyi     时间: 2008-7-26 14:58
Originally posted by HAT at 2008-7-26 14:51: ipconfig_Win2003.zip rthost.fam.cx/cndos- ...
谢谢

作者: yangzhiyi     时间: 2008-7-26 15:27
改成这样不知行不行,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 ]

作者: yangzhiyi     时间: 2008-7-27 22:35
求Vista 系统的ipconfig.exe 命令

作者: pusofalse     时间: 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 未知系统版本
:end
pause

作者: yangzhiyi     时间: 2008-7-28 18:58
Originally posted by pusofalse at 2008-7-28 01:53: [code]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 [Version 5.2.3790] 没有2003字样,所以没用,我也只要那几个版本就行了,不过也从它学到了简单的得到是什么版本的系统方法了,每个系统版本应该都有[* *.*.***]的,我记得98的是4呢。就找.就行。 哎,今天找到的vista系统的ipconfig.exe了,打开看了一下,它没有信息表的了,所以没法改,这方法又没有用了。

作者: dosyenanjs     时间: 2008-7-28 19:58
@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
                               )

作者: yangzhiyi     时间: 2008-8-1 13:56
Originally posted by dosyenanjs at 2008-7-28 19:58: [code]@echo off&setlocal enabledelayedexpansion reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion>%temp%\ver.txt for /f "delims=" %%i in ( ...
嘿嘿,win2000 没有reg命令