我想创建一个枚举的cmd脚本 HKEY_USERS * \软件\微软\的Windows \ CurrentVersion \ Run中 用它的所有子键。
这是我到目前为止所做的但它没有工作..变量没有设置?
setlocal ENABLEEXTENSIONS
FOR /F "usebackq " %%A IN (`REG QUERY HKU`) DO (
set "datareg=%%A\Software\Microsoft\Windows\CurrentVersion\Run"
@echo %datareg% >> "%userprofile%\desktop\runregistery.txt"
)
答案 0 :(得分:1)
您可以在一行中执行您想要的操作而不使用set
后跟echo
。
要导出HKEY_CURRENT_USER
的密钥列表,您可以使用以下批处理文件。
TEST.CMD:
@echo off
for /f "usebackq skip=2" %%a in (`reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`) do echo %%a>> "%userprofile%\desktop\runregistery.txt"
示例输出:
f.lux
PureText
EPSON
WinPatrol
如果您需要HKEY_CURRENT_USER
的键和值,请使用reg export
:
reg export HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run > reg.out
示例输出:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"f.lux"="\"C:\\Users\\DavidPostill\\AppData\\Local\\FluxSoftware\\Flux\\flux.exe\" /noshow"
"PureText"="\"C:\\apps\\PureText\\PureText.exe\""
"EPSON Stylus Photo RX560 Series"="C:\\Windows\\system32\\spool\\DRIVERS\\x64\\3\\E_IATIBPE.EXE /FU \"C:\\Windows\\TEMP\\E_S8843.tmp\" /EF \"HKCU\""
"WinPatrol"="C:\\apps\\WinPatrol\\winpatrol.exe -expressboot"
要导出HKEY_USERS
的列表键,您可以使用以下批处理文件。
TEST.CMD:
@echo off
Setlocal EnableDelayedExpansion
for /f "usebackq" %%a in (`reg query HKEY_USERS`) do (
set _user=%%a
for /f "usebackq" %%b in (`reg query !_user!\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 2^> nul`) do (
echo %%b>> "%userprofile%\desktop\runregistery.txt"
)
)
示例输出:
HKEY_USERS\S-1-5-19\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Sidebar
HKEY_USERS\S-1-5-20\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Sidebar
HKEY_USERS\S-1-5-21-1699878757-1063190524-3119395976-1000\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
f.lux
PureText
EPSON
WinPatrol