你可以做你在不使用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
嗨,问题是,你只出口HKCU,我要导出所有用户==>香港大学,但你永远不知道前面是香港大学后的关键...... –
答案更新后通过香港大学循环 – DavidPostill
大卫,我没有看到任何更新的差异?我不应该循环获取S-id的第一个,并在reg导出中使用该s-id? –