你可以做你在不使用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? –