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

[注册表类] 批处理怎样列出注册表中开机启动项?

麻烦大家帮一下,谢谢。批处理怎样列出注册表中开机启动项?只要显示所有的开机启动项,即可
1

评分人数

    • pcl_test: 发帖前先使用论坛搜索PB -3

回复 1# yeeboys


    试过了,没找到

TOP

reg query /?

TOP

  1. @echo off
  2. reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  3. reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  4. pause
复制代码

TOP

本帖最后由 huyou96 于 2016-10-22 20:52 编辑
  1. reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  2. reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
  3. reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  4. for /f "delims=" %%u in ('reg query HKEY_USERS') do reg query %%u\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
复制代码
【注】最后一条语句有瑕疵,但我水平有限无法完善,如有大虾能帮忙改进则十分感谢。
这个瑕疵遗憾是这样的:
先是遍历找到所有用户集合,但是某些用户下面是不存在“SOFTWARE\Microsoft\Windows\CurrentVersion\Run” 这样的子键路径分支的,换句话讲并非所有用户都拥有“SOFTWARE\Microsoft\Windows\CurrentVersion\Run” ,有的根本就不存在这样的注册表分支路径,所以如对这些用户进行查询,查询结果就会报错提示道:“错误: 系统找不到指定的注册表项或值。”——所以有必要在“do reg query”前先筛选过滤一下,把可能报错的先刨除,然后再执行查询,则结果就OK了。

补充:另外,如果楼主只在乎含有启动项的注册表分支而不是关注哪里有可能含有启动项,那么最后一条语句还需刨除的应该是该用户下有“SOFTWARE\Microsoft\Windows\CurrentVersion\Run” 这样的子键路径分支,但里面暂时未有启动键值,就是说Run子键下面除了默认值外空空如野,这样的结果也该先筛选出去吧?所以,也要再刨除这类里面不含任何启动项的那些,剩下的才是想要的。

TOP

回复 5# huyou96


    关注下。。。

TOP

回复 5# huyou96

加上 2>nul 过滤一下

TOP

for /f "delims=" %%u in ('reg query HKEY_USERS') do reg query %%u\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 2>nul

TOP

返回列表