本帖最后由 huyou96 于 2016-10-22 20:52 编辑
- reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
- reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- 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子键下面除了默认值外空空如野,这样的结果也该先筛选出去吧?所以,也要再刨除这类里面不含任何启动项的那些,剩下的才是想要的。 |