Board logo

标题: [注册表类] [已解决]批处理如何根据指定注册表项/值/数据是否存在执行不同操作? [打印本页]

作者: gd6570    时间: 2016-6-12 17:51     标题: [已解决]批处理如何根据指定注册表项/值/数据是否存在执行不同操作?

本帖最后由 gd6570 于 2016-6-13 11:13 编辑

论坛里面有一个类似的帖子,不过我不太会改,而且还有其他的问题要问所以就发了一个新帖。
类似贴链接:http://www.bathome.net/redirect.php?fid=5&tid=7788&goto=nextnewset

上面的帖子里面有以下语句:
@echo off
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v QQ.exe>nul 2>nul&&echo 存在QQ.exe||echo 不存在QQ.exe
pause>nul
问题1:请问代码第二行什么意思?特别是“/v QQ.exe>nul 2>nul”这一段,那个数字2是干嘛的?

问题2:如标题,怎么判断项存在不存在,存在执行语句1不存在执行语句二?

问题3:对于问题2能不能写成if(条件){语句一}else if(条件){语句二}else{语句三}这种句式?
作者: gawk    时间: 2016-6-12 21:12

答案1

读取、新建、修改、删除注册表键值专题帖
http://bbs.bathome.net/thread-21223-1-1.html

批处理中的重定向符号以及句柄的使用方法和讲解
http://bbs.bathome.net/thread-3296-1-1.html
作者: gawk    时间: 2016-6-12 21:17

答案3
  1. @echo off
  2. reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v QQ.exe>nul 2>nul
  3. if errorlevel 1 (
  4.     echo 语句1
  5. ) else if A equ B (
  6.     echo 语句2
  7. ) else (
  8.     echo 语句3
  9. )
  10. pause
复制代码

作者: gd6570    时间: 2016-6-12 23:46

回复 2# gawk


    那个2>null 1>null的帖子貌似被删了,访问不了了
作者: gd6570    时间: 2016-6-12 23:51

答案3
gawk 发表于 2016-6-12 21:17



    请问不判断键值,只判断[HKEY_CURRENT_USER\Control Panel]项是否存在,的else if语句怎么写呢?
作者: 再世情緣    时间: 2016-6-13 00:57

  1. reg Query "HKCU\Control Panel" >nul 2>nul
  2. if %Errorlevel% EQU 0 (
  3.     echo.存在
  4. ) else (
  5.     echo.不存在
  6. )
复制代码

作者: gawk    时间: 2016-6-13 09:10

回复 4# gd6570


    没事,看完其它几个帖子一样能明白它是什么意思。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2