制作脚本以更改所有文件夹和子文件夹中的注册表值
Making a script to change regedit values in all folders and subfolders
我绝对不是一个有经验的编码员,所以请耐心回答这些问题。
我正在尝试将多个文件夹(包括其子文件夹)中的 LoadBehavior REG_DWORD 0x00000002(2)
更改为值 0x00000003(3)
。我希望脚本 运行 通过每个文件夹和子文件夹,如果找到 REG_DWORD 类型,则将值更改为 3。
如果没有,我不希望它添加 REG_DWORD。
编辑:
在 JosefZ 的帮助下,我在下面编辑了我的代码:
对于你们这些编码员来说,这可能是一个简单的解决方法 :) 期待收到你们的来信
我的全部代码如下:
@echo off
echo Start af Registry p† remote pc
set /p input="Maskinens wrk-nummer:"
sc \%input% config remoteregistry start= auto
sc \%input% start remoteregistry
reg query \%input%\hku /v LoadBehavior /s | find /I "HKEY_USERS\"
for /F "tokens=*" %%G in ('
reg query \%input%\hku /v LoadBehavior /s 2^>NUL ^| find /I "HKEY_USERS\"
') do (
rem next command is merely displayed for debugging purposes
echo REG ADD \%input%\%%G /v LoadBehavior /d "3" /t REG_DWORD /f
rem remove `ECHO` from above command no sooner than debugged
)
Choice /M "Vil du gerne ogs† †bne Registry?"
If Errorlevel 2 Goto No
If Errorlevel 1 Goto Yes
Goto End
:No
Echo Programmet lukker
Goto End
:Yes
Echo Registry †bner
start regedit.exe
:End
timeout 2
结果运行上面的代码:
Start af Registry på remote pc
Maskinens wrk-nummer:wrk0022423
[SC] ChangeServiceConfig SUCCESS
[SC] StartService FAILED 1056:
Der kører allerede en udgave af tjenesten.
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\AdHocReportingExcelClientLib.AdHocReportingExcelClientAddIn.1
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\DYMO.LabelWriterAddIn
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\PowerPivotExcelClientAddIn.NativeEntry.1
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\AccessAddin.DC
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\Add-On-Products.ResourceFinder
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\ColleagueImport.ColleagueImportAddin
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\DYMO.LabelWriterAddIn
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\TelemetryAddin.Connect
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\PowerPoint\Addins\OneNote.PowerPointAddinTakeNotesService
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\DYMO.LabelWriterAddIn
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\OneNote.WordAddinTakeNotesService
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\AdHocReportingExcelClientLib.AdHocReportingExcelClientAddIn.1 /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\DYMO.LabelWriterAddIn /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\PowerPivotExcelClientAddIn.NativeEntry.1 /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\AccessAddin.DC /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\Add-On-Products.ResourceFinder /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\ColleagueImport.ColleagueImportAddin /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\DYMO.LabelWriterAddIn /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\TelemetryAddin.Connect /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\PowerPoint\Addins\OneNote.PowerPointAddinTakeNotesService /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\DYMO.LabelWriterAddIn /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\OneNote.WordAddinTakeNotesService /v LoadBehavior /d "3" /t REG_DWORD /f
Vil du gerne også åbne Registry? [Y,N]?
显示值出现的所有子项(使用 temp
值名称而不是 LoadBehavior
仅用于演示):
==> reg query \%input%\hku /v temp /s | find /I "HKEY_USERS\"
HKEY_USERS\.DEFAULT\Environment
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\Environment
HKEY_USERS\S-1-5-18\Environment
在您的代码中使用下一个 for /F
loop 而不是 reg add …
:
for /F "tokens=*" %%G in ('
reg query \%input%\hku /v LoadBehavior /s 2^>NUL ^| find /I "HKEY_USERS\"
') do (
rem next command is merely displayed for debugging purposes
echo REG ADD \%input%\%%G /v LoadBehavior /d "3" /t REG_DWORD /f
rem remove `ECHO` from above command no sooner than debugged
)
我绝对不是一个有经验的编码员,所以请耐心回答这些问题。
我正在尝试将多个文件夹(包括其子文件夹)中的 LoadBehavior REG_DWORD 0x00000002(2)
更改为值 0x00000003(3)
。我希望脚本 运行 通过每个文件夹和子文件夹,如果找到 REG_DWORD 类型,则将值更改为 3。
如果没有,我不希望它添加 REG_DWORD。
编辑: 在 JosefZ 的帮助下,我在下面编辑了我的代码:
对于你们这些编码员来说,这可能是一个简单的解决方法 :) 期待收到你们的来信
我的全部代码如下:
@echo off
echo Start af Registry p† remote pc
set /p input="Maskinens wrk-nummer:"
sc \%input% config remoteregistry start= auto
sc \%input% start remoteregistry
reg query \%input%\hku /v LoadBehavior /s | find /I "HKEY_USERS\"
for /F "tokens=*" %%G in ('
reg query \%input%\hku /v LoadBehavior /s 2^>NUL ^| find /I "HKEY_USERS\"
') do (
rem next command is merely displayed for debugging purposes
echo REG ADD \%input%\%%G /v LoadBehavior /d "3" /t REG_DWORD /f
rem remove `ECHO` from above command no sooner than debugged
)
Choice /M "Vil du gerne ogs† †bne Registry?"
If Errorlevel 2 Goto No
If Errorlevel 1 Goto Yes
Goto End
:No
Echo Programmet lukker
Goto End
:Yes
Echo Registry †bner
start regedit.exe
:End
timeout 2
结果运行上面的代码:
Start af Registry på remote pc
Maskinens wrk-nummer:wrk0022423
[SC] ChangeServiceConfig SUCCESS
[SC] StartService FAILED 1056:
Der kører allerede en udgave af tjenesten.
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\AdHocReportingExcelClientLib.AdHocReportingExcelClientAddIn.1
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\DYMO.LabelWriterAddIn
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\PowerPivotExcelClientAddIn.NativeEntry.1
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\AccessAddin.DC
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\Add-On-Products.ResourceFinder
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\ColleagueImport.ColleagueImportAddin
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\DYMO.LabelWriterAddIn
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\TelemetryAddin.Connect
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\PowerPoint\Addins\OneNote.PowerPointAddinTakeNotesService
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\DYMO.LabelWriterAddIn
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\OneNote.WordAddinTakeNotesService
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\AdHocReportingExcelClientLib.AdHocReportingExcelClientAddIn.1 /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\DYMO.LabelWriterAddIn /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Excel\Addins\PowerPivotExcelClientAddIn.NativeEntry.1 /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\AccessAddin.DC /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\Add-On-Products.ResourceFinder /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\ColleagueImport.ColleagueImportAddin /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\DYMO.LabelWriterAddIn /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Outlook\Addins\TelemetryAddin.Connect /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\PowerPoint\Addins\OneNote.PowerPointAddinTakeNotesService /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\DYMO.LabelWriterAddIn /v LoadBehavior /d "3" /t REG_DWORD /f
REG ADD \wrk0022423\HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\SOFTWARE\Microsoft\Office\Word\Addins\OneNote.WordAddinTakeNotesService /v LoadBehavior /d "3" /t REG_DWORD /f
Vil du gerne også åbne Registry? [Y,N]?
显示值出现的所有子项(使用 temp
值名称而不是 LoadBehavior
仅用于演示):
==> reg query \%input%\hku /v temp /s | find /I "HKEY_USERS\"
HKEY_USERS\.DEFAULT\Environment
HKEY_USERS\S-1-5-21-3900305277-3673560937-2769375459-163256\Environment
HKEY_USERS\S-1-5-18\Environment
在您的代码中使用下一个 for /F
loop 而不是 reg add …
:
for /F "tokens=*" %%G in ('
reg query \%input%\hku /v LoadBehavior /s 2^>NUL ^| find /I "HKEY_USERS\"
') do (
rem next command is merely displayed for debugging purposes
echo REG ADD \%input%\%%G /v LoadBehavior /d "3" /t REG_DWORD /f
rem remove `ECHO` from above command no sooner than debugged
)