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

[文本处理] [已解决]批处理怎样读取指定字符后面的数个字符?

查看一般网卡,获取特定字符串(&)中间的字符,用下列代码即可实现,因为要读出的在&中间的字符
  1. for /f "tokens=2 delims=&" %%a in ('devcon find pci\*^|findstr /c:"Fast Ethernet"') do (echo %%a)
复制代码
我现在要读取无线网卡中红色部分的字符,下列代码就不好使了,请帮忙!谢谢!
(隐约在本论坛好象看到有介绍读取指定字符前面几个字符的介绍,但不知读后面几个字符的写法)
  1. 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 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

对于内容:USB\VID_18E8&PID_6220\5&3B797E16&0&2 : RT73 USB Wireless LAN Cardrem
把 tokens=2 改成 tokens=3
  1. @echo off
  2. for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do echo %%a
  3. pause
复制代码

[ 本帖最后由 hanyeguxing 于 2010-12-24 22:42 编辑 ]
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

原帖由 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  ...


谢谢!

待我明天到老爷子的笔记本上试试!

TOP

原帖由 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正确
一:
  1. USB\VID_093A&PID_2510\5&118A2149&0&2 : USB
  2. USB\VID_18E8&PID_6220\5&3B797E16&0&2 : RT73 USB Wireless LAN Cardrem
复制代码

批:
  1. @echo off
  2. for /f "tokens=3 delims=&\" %%a in ('find /i "USB Wireless" 1.txt') do echo %%a
  3. pause
复制代码

测试不成功:
  1. :start_WiFi
  2. cls
  3. title=    启用"无线网络连接"
  4. echo  ※※※※!!!" RT73 USB Wireless LAN Card!!!※※※※
  5. rem Wireless Zero Configuration
  6. sc config WZCSVC start= demand
  7. net start WZCSVC
  8. rem 禁用"本地连接"Generic Marvell Yukon 88E8039 PCI-E Fast Ethernet Controller"
  9. for /f "tokens=2 delims=&" %%a in ('devcon find pci\*^|findstr /c:"Fast Ethernet"') do (devcon disable *%%a*>nul)
  10. netsh int ip set address "无线网络连接" static 192.168.0.122 255.255.255.0 192.168.0.1 0
  11. netsh int ip set dns "无线网络连接" static 202.102.154.3
  12. netsh int ip add dns name="无线网络连接" addr=202.102.152.3 index=2
  13. netsh int ip set wins name="无线网络连接" source=static addr=none
  14. for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do (devcon enable *%%a*>nul)
  15. echo 请确定您计算机上的无线开关已启用!
  16. pause>nul
  17. :stop_WiFi
  18. cls
  19. title= 禁用WiFi无线网络连接
  20. sc config WZCSVC start= disabled
  21. net stop WZCSVC
  22. for /f "tokens=2 delims=&" %%a in ('devcon find pci\*^|findstr /c:"Fast Ethernet"') do (devcon enable *%%a*>nul)
  23. netsh int ip set address "本地连接" static 192.168.1.2 255.255.255.0 192.168.1.1 0
  24. netsh int ip set dns "本地连接" static 219.146.0.130
  25. netsh int ip add dns name="本地连接" addr=219.150.32.132 index=2
  26. netsh int ip set wins name="本地连接" source=static addr=none
  27. for /f "tokens=3 delims=&\" %%a in ('devcon find pci\*^|find /i "USB Wireless"') do (devcon disable *%%a*>nul)
  28. echo 请手工关闭您计算机上的无线开关!
  29. pause>nul
复制代码

[ 本帖最后由 temp 于 2010-12-25 16:57 编辑 ]

TOP

返回列表