找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27369|回复: 6

[注册表类] 如何把多行相似的批处理代码合并成一行?

[复制链接]
发表于 2014-12-6 09:50:46 | 显示全部楼层 |阅读模式
请教各位,如何把下面中间的多行相似的代码合并成一行,功能不变,谢谢!
  1. @echo off
  2. set "s=HKCU\Control Panel\International"



  3. reg query "%s%" /v Locale|find "00000409" &&goto LocaleNG

  4. reg query "%s%" /v Locale|find "00001401" &&goto LocaleNG

  5. reg query "%s%" /v Locale|find "00003C01" &&goto LocaleNG

  6. reg query "%s%" /v Locale|find "00000C01" &&goto LocaleNG

  7. reg query "%s%" /v Locale|find "00000801" &&goto LocaleNG

  8. reg query "%s%" /v Locale|find "00002C01" &&goto LocaleNG

  9. reg query "%s%" /v Locale|find "00003401" &&goto LocaleNG

  10. reg query "%s%" /v Locale|find "00003001" &&goto LocaleNG

  11. reg query  /v Locale|find "00001001" &&goto LocaleNG||goto LocaleOK



  12. :LocaleNG

  13. echo,Locale NG

  14. pause&exit



  15. :LocaleOK

  16. echo,Locale OK

  17. pause

复制代码
发表于 2014-12-6 10:11:18 | 显示全部楼层
很简单啊,用for或goto都行啊。 把find 后的数定义为变量。
发表于 2014-12-6 10:29:36 | 显示全部楼层
回复 2# yiwuyun


利用findstr命令的特性,可以不用for循环:
  1. @echo off
  2. set "s=HKCU\Control Panel\International"
  3. reg query "%s%" /v Locale|findstr "00000409 00001401 00003C01 00000C01 00000801 00002C01 00003401 00003001 00001001" && goto LocaleNG || goto LocaleOK

  4. :LocaleNG
  5. echo,Locale NG
  6. pause&exit

  7. :LocaleOK
  8. echo,Locale OK
  9. pause
复制代码
发表于 2014-12-6 12:20:07 | 显示全部楼层
回复 3# DAIC


    这方法很好!!
 楼主| 发表于 2014-12-6 20:24:17 | 显示全部楼层
本帖最后由 sinun 于 2014-12-6 22:27 编辑

回复 3# DAIC


   谢谢! 怎么试了不成功呢?
数值之间要不要加符号?
发表于 2014-12-7 08:53:18 | 显示全部楼层
回复 5# sinun


    数值之间不要加符号
 楼主| 发表于 2014-12-7 22:44:14 | 显示全部楼层
回复  yiwuyun


利用findstr命令的特性,可以不用for循环:
DAIC 发表于 2014-12-6 10:29


有点异常,如果值等于00000409返回的结果是正常的,之后的比如00001401返回的结果就不对了,请求支持!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:42 , Processed in 0.018709 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表