标题: [文本处理] [已解决]批处理怎样读取指定字符后面的数个字符? [打印本页]
作者: temp 时间: 2010-12-24 22:26 标题: [已解决]批处理怎样读取指定字符后面的数个字符?
查看一般网卡,获取特定字符串(&)中间的字符,用下列代码即可实现,因为要读出的在&中间的字符-
- for /f "tokens=2 delims=&" %%a in ('devcon find pci\*^|findstr /c:"Fast Ethernet"') do (echo %%a)
复制代码
我现在要读取无线网卡中红色部分的字符,下列代码就不好使了,请帮忙!谢谢!
(隐约在本论坛好象看到有介绍读取指定字符前面几个字符的介绍,但不知读后面几个字符的写法)-
- for /f "tokens=2 delims=&\" %%a in ('devcon find pci\*^|findstr /c:"USB Wireless"') do (echo %%a)
复制代码
USB\VID_18E8&PID_6220\5&3B797E16&0&2 : RT73 USB Wireless LAN Cardrem
或
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USB\Vid_18e8&Pid_6220\5&3b797e16&0
[ 本帖最后由 temp 于 2010-12-25 16:41 编辑 ]
作者: hanyeguxing 时间: 2010-12-24 22:36
对于内容:USB\VID_18E8&PID_6220\5&3B797E16&0&2 : RT73 USB Wireless LAN Cardrem
把 tokens=2 改成 tokens=3- @echo off
- for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do echo %%a
- pause
复制代码
[ 本帖最后由 hanyeguxing 于 2010-12-24 22:42 编辑 ]
作者: temp 时间: 2010-12-24 22:48
原帖由 hanyeguxing 于 2010-12-24 22:36 发表
对于内容:USB\VID_18E8&PID_6220\5&3B797E16&0&2 : RT73 USB Wireless LAN Cardrem
把 tokens=2 改成 tokens=3@echo off
for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do ...
谢谢!
待我明天到老爷子的笔记本上试试!
作者: temp 时间: 2010-12-24 23:17
原帖由 hanyeguxing 于 2010-12-24 22:36 发表
对于内容:USB\VID_18E8&PID_6220\5&3B797E16&0&2 : RT73 USB Wireless LAN Cardrem
把 tokens=2 改成 tokens=3@echo off
for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do ...
谢谢!
中午回家测试启用\禁用无线网卡没成功,但新建1.txt文件,粘贴进引用"一"的内容后,用"批"读取正确,说明改成tokens=3正确
一:- USB\VID_093A&PID_2510\5&118A2149&0&2 : USB
- USB\VID_18E8&PID_6220\5&3B797E16&0&2 : RT73 USB Wireless LAN Cardrem
复制代码
批:
- @echo off
- for /f "tokens=3 delims=&\" %%a in ('find /i "USB Wireless" 1.txt') do echo %%a
- pause
复制代码
测试不成功:-
- :start_WiFi
- cls
- title= 启用"无线网络连接"
- echo ※※※※!!!" RT73 USB Wireless LAN Card!!!※※※※
- rem Wireless Zero Configuration
- sc config WZCSVC start= demand
- net start WZCSVC
- rem 禁用"本地连接"Generic Marvell Yukon 88E8039 PCI-E Fast Ethernet Controller"
- for /f "tokens=2 delims=&" %%a in ('devcon find pci\*^|findstr /c:"Fast Ethernet"') do (devcon disable *%%a*>nul)
- netsh int ip set address "无线网络连接" static 192.168.0.122 255.255.255.0 192.168.0.1 0
- netsh int ip set dns "无线网络连接" static 202.102.154.3
- netsh int ip add dns name="无线网络连接" addr=202.102.152.3 index=2
- netsh int ip set wins name="无线网络连接" source=static addr=none
- for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do (devcon enable *%%a*>nul)
- echo 请确定您计算机上的无线开关已启用!
- pause>nul
-
- :stop_WiFi
- cls
- title= 禁用WiFi无线网络连接
- sc config WZCSVC start= disabled
- net stop WZCSVC
- for /f "tokens=2 delims=&" %%a in ('devcon find pci\*^|findstr /c:"Fast Ethernet"') do (devcon enable *%%a*>nul)
- netsh int ip set address "本地连接" static 192.168.1.2 255.255.255.0 192.168.1.1 0
- netsh int ip set dns "本地连接" static 219.146.0.130
- netsh int ip add dns name="本地连接" addr=219.150.32.132 index=2
- netsh int ip set wins name="本地连接" source=static addr=none
- for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do (devcon disable *%%a*>nul)
- echo 请手工关闭您计算机上的无线开关!
- pause>nul
复制代码
[ 本帖最后由 temp 于 2010-12-25 16:57 编辑 ]
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |