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

[注册表类] 批处理怎样判断注册表中的键值是否存在,并根据判断做出动作?

要求:
1、判断注册表中的网站信任站点中是否包含abc.com
2、如果包含,直接打开IE,abc.com
3、如果不包含,将该网站添加进信任列表,再打开abc.com.

网站信任站点在注册表中对应的地方是:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

------------------------------------------------------------------------------------------------------------------------------------------------------------
//因不懂BAT,所以在网站找了很多帖子看了,自己摸索着写了一个,但有时会同时打开2个IE,也感觉代码很乱,请高手帮忙优化,非常感谢。
  1. reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http |findstr "http" &&start "" /min  "%systemdrive%\program files\internet explorer\iexplore.exe"    abc.com ||rem 添加www.abc.com为信任站点
  2. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\www" /v http /t REG_DWORD /d 0x00000002 /f
  3. rem 添加oa.abc.com为信任站点
  4. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\oa" /v http /t REG_DWORD /d 0x00000002 /f  
  5. rem 添加*.abc.com为信任站点
  6. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http /t REG_DWORD /d 0x00000002 /f   
  7. start "" /min  "%systemdrive%\program files\internet explorer\iexplore.exe"    abc.com
复制代码

  1. reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http
  2. if errorlevel 1 (
  3.     rem 添加www.abc.com为信任站点
  4.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\www" /v http /t REG_DWORD /d 2 /f
  5.     rem 添加oa.abc.com为信任站点
  6.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\oa" /v http /t REG_DWORD /d 2 /f
  7.     rem 添加*.abc.com为信任站点
  8.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http /t REG_DWORD /d 2 /f
  9. ) else (
  10.     start "" /min "%systemdrive%\program files\internet explorer\iexplore.exe" abc.com
  11. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 Derekwong 于 2014-9-17 13:01 编辑

回复 2# Batcher


    谢谢管理员,你的代码很好,结果测试发现还有一个问题没有解决,就是:

当信任站点中没有abc.com时,要做的动作是2个:
1、添加abc.com到信任站点
2、添加完后,再打开abc.com。

管理员给的代码,缺少第2个动作,我尝试直接把 start "" /min "%systemdrive%\program files\internet explorer\iexplore.exe" 127.0.0.1 加到第一部分的后面,如下:
  1. reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http
  2. if errorlevel 1 (
  3.     rem 添加www.abc.com为信任站点
  4.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\www" /v http /t REG_DWORD /d 2 /f
  5.     rem 添加oa.abc.com为信任站点
  6.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\oa" /v http /t REG_DWORD /d 2 /f
  7.     rem 添加*.abc.com为信任站点
  8.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http /t REG_DWORD /d 2 /f
  9.     start "" /min "%systemdrive%\program files\internet explorer\iexplore.exe" abc.com
  10. ) else (
  11.     start "" /min "%systemdrive%\program files\internet explorer\iexplore.exe" abc.com
  12. )
复制代码
这样加完还是不成功,在没有信任站点的时候,执行了添加动作,但添加完后,没有执行打开IE的动作,麻烦管理员再看看。

TOP

再追问一个,这个BAT打开后一个小CMD窗口弹出,执行完就没了,有没有什么办法,让CMD窗口不显示,

如果可以麻烦一并加入到以上代码中,感谢管理员。

TOP

回复 3# Derekwong
  1. reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http
  2. if errorlevel 1 (
  3.     rem 添加www.abc.com为信任站点
  4.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\www" /v http /t REG_DWORD /d 2 /f
  5.     rem 添加oa.abc.com为信任站点
  6.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\oa" /v http /t REG_DWORD /d 2 /f
  7.     rem 添加*.abc.com为信任站点
  8.     reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http /t REG_DWORD /d 2 /f
  9. )
  10. start "" /min "%systemdrive%\program files\internet explorer\iexplore.exe" abc.com
复制代码
把代码保存为test.bat
不要用reg.bat或start.bat
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher


    谢谢管理员回复,这样写是不是无论信任站点在不在执行2个动作,先添加信任站点,再打开IE。

TOP

回复 6# Derekwong


    是的。这样不符合你的需求吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# Batcher

是的,跟我的需求有点不同,我的需求是:

A:如果信任站点已存在,就直接打开网站(不用再添加信任站点)。

B:如果信任站点不存在,那么先添加信任站点,再打开网站

麻烦管理员再修改一下,谢谢。

TOP

回复 8# Derekwong


    5楼的代码就是这样执行的,你测试的时候发现问题了吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9# Batcher


    感谢管理员的回复,因为我只看到一个IF判断,所以我以为只是做了一次判断。

而且测试的时候没办法发现问题,因为运行出来的实际效果都是一样的。就是不知道过程怎么来测试。

TOP

回复 10# Derekwong


这样测试一下看看

@echo off
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http
if errorlevel 1 (
    echo 信任站点不存在,先添加信任站点;如果没有看到这个提示,那就是直接打开网站(不用再添加信任站点)
    rem 添加www.abc.com为信任站点
    reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\www" /v http /t REG_DWORD /d 2 /f
    rem 添加oa.abc.com为信任站点
    reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com\oa" /v http /t REG_DWORD /d 2 /f
    rem 添加*.abc.com为信任站点
    reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\abc.com" /v http /t REG_DWORD /d 2 /f
)
start "" /min "%systemdrive%\program files\internet explorer\iexplore.exe" abc.com
pause
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11# Batcher


    感谢管理员,这样测试是成功的,另外我想请教下,有没什么办法可以直接看到(或记录)BAT的整个运行过程。

TOP

回复 12# Derekwong


    把11楼代码里面的 @echo off 删掉
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表