[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

回复 15楼 的帖子

一样看得到吧,英文版的没试...

TOP

10楼 ipconfig  这个好
不明白 怎么不在第一个FOR里显示  CALL 出来 我怎么感觉多余了

TOP

我也来一段简单点的
  1. @echo off
  2. for /f "delims=:" %%I in ('ipconfig ^| find /i "Ethernet"') do set LAC=%%I
  3. set LAC=%LAC:~17%
  4. echo %LAC%
  5. pause
复制代码

[ 本帖最后由 hmlstfqtl 于 2010-5-19 12:06 编辑 ]

TOP

systeminfo |findstr "连接名"
不是英文版,也不清楚find什么关键字

TOP

本帖最后由 kstg4782964 于 2011-4-22 09:49 编辑

大家好!
末学是新人……从事国际化测试工作,自己在研究在不同语言平台下获取“本地连接”。
经测试发现:楼主大侠和14楼的高手的代码不能在WIN 7平台下通过。
14楼高手的代码可以应用于英,日,德,韩,俄,繁中语言的2008 server 平台下。

但在西班牙语中,代码“set LAC=%LAC:~17%”应该为“set LAC=%LAC:~22%”,这样也能够正常使用

问题出在法语上,当我IPCONFIG时,发现它的“本地连接”名和最后的“:”之间有一个空格!!
如果将这样获取过来的名字用于其它地方,因为本身多了一个空格,与原名不符,所以出错。

但在“NCPA.cpl”中查看该连接名时,发现空格是不存在的。

就因为法语中的这个空格,该批处理就不能用于法语环境,纠结!

通过测试的语言和环境平台有:
      WIN XP     WIN 7    WIN 2003     WIN 2008
EN        √
DE        √            √
JA   √         √
SC             ×
TC   √
KO        √             √
RU        √
ES                      √
FR                      ×

附图:
1.英文

2.法语


感谢楼主大侠的帖子,让我能够得以在此找到问题的解决方法。

等待高人赐予解决方法!(图片需要登录百度才可见,相信大家都有百度帐号吧:))

TOP

问题已解决,代码如下:

@echo off
for /f "delims=:" %%I in ('ipconfig ^| find /i "Ethernet"') do set LAC=%%I
set LAC=%LAC:~15%
echo "%LAC:~0,-1%"
REM 然后我就给它来一条加DNS的命令
netsh interface ip set dns "%LAC:~0,-1%" static 192.168.0.1
pause

非常感谢本帖的各位高手给予的启发,让末学能够尝试使用批处理脚本解决工作中的问题。

注意:本楼代码仅适用于法语环境,简中环境的楼主的代码或14楼的就可以。

TOP

回复 1# Batcher

这是我的MyNet.reg文件,里面没有Local Area Connection 2,请管理员指点,谢谢!

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\11]
"ServiceName"="{62F14956-B754-4691-BFE2-0B42924D0D80}"
"Description"="Intel(R) Wireless WiFi Link 4965AG"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\9]
"ServiceName"="{87C0AE26-3795-4B1B-9205-D12DCE46790E}"
"Description"="Intel(R) 82566MM Gigabit Network Connection"

TOP

本帖最后由 jbcdidgosir 于 2013-3-4 14:13 编辑
我也来一段简单点的

[ 本帖最后由 hmlstfqtl 于 2010-5-19 12:06 编辑 ]
hmlstfqtl 发表于 2010-5-19 11:33



    用你的程序我查到了Local Area Connection 2,但是Local Area Connection和Wireless Network Connection查不到,请问怎么才能做到全查到,并且挑选出来?我要挑选网关为192.168.1.1的网卡的名字.谢谢!

TOP

本帖最后由 gobi918 于 2014-5-8 15:22 编辑

我也来一个来个XP/WIN7/简繁体通吃的连线名称获取代码:
  1. rem 以上内容略   
  2. for /f tokens^=1^,2^ delims^=^" %%j in ('netsh interface ip show config') do (        
  3.        if "%%j"=="介面 " (  
  4.        echo 连线名称为:%%k      
  5.     )  
  6.        if "%%j"=="接口 " (  
  7.        echo 连线名称为:%%k   
  8.      )   
  9. )  
  10. pause
复制代码
Ps:繁体系统中显示为介面,简体则为接口,不过win7好像会有一个Loopback Pseudo-Interface的回环网卡,所以代码实际使用可能需要加入排除判断,比如下面使用中,我仅设置第一块网卡,然后跳出for循环。

还是之前在博客写的,其中%%k则为连线名称,原文地址:http://zhangge.net/497.html

后面还写了一个GHOST系统自动恢复系统安装之前的IP设置的脚本,下面是截取一部分代码,结合了上面获取连线名称的代码,供参考:
  1. .....以上略....
  2. rem 獲取第一塊網卡的名稱,并設置IP,多塊網卡將仅設置第一塊   
  3. for /f tokens^=1^,2^ delims^=^" %%j in ('netsh interface ip show config') do (         
  4.             
  5.                 if "%%j"=="介面 " (  
  6.                   netsh interface ip set address name="%%k" source=static addr=!addr! mask=!mask! gateway=!gateway!      
  7.                   call :end                       
  8.                         
  9.                        )   
  10.                 if "%%j"=="接口 " (   
  11.                     netsh interface ip set address name="%%k" source=static addr=!addr! mask=!mask! gateway=!gateway!      
  12.                     call :end                     
  13.             )           
  14.         )      
  15. :end   
  16. echo 設置完畢,3S后自動退出!   
  17. ping -n 3 127.1 >nul   
  18. exit   
  19. ...以下略....
复制代码
有兴趣的可以到原文看看:http://zhangge.net/1885.html

TOP

返回列表