Приветствую!
помогите создать функцию для поиска и экспорта ключей реестра, в данный момент пользуюсь батником.
вызов и autoit скрипта
Office.ini
и сам батник
может быть я не туда написал, направьте.
помогите создать функцию для поиска и экспорта ключей реестра, в данный момент пользуюсь батником.
вызов и autoit скрипта
Код:
If Not FileExists($by & "\OfReg_" & StringLower(@OSArch) & ".reg") Then
ToolTip($m2, @DesktopWidth / 2, (@DesktopHeight / 2 + 20), "", "", 2)
DirRemove($by & "\Reg_Result", 1)
Global $Arg, $k = IniRead($cm, "Registry", "KeyName", "")
$ak = StringSplit($k, ";")
For $b = 1 To $ak[0]
$Arg &= " " & $ak[$b]
Next
$cmdline = @ComSpec & " /c " & $by & "\App\Find_Registry.bat Office " & StringLower(@OSArch) & " " & $Arg
RunWait($cmdline & " >>" & $by & "\WinSMBB_CaptureOffice.log", "", @SW_HIDE)
FileWriteLine($by & "\WinSMBB_CaptureOffice.log", "")
FileCopy($by & "\App\OfReg_" & StringLower(@OSArch) & ".reg", $by & "\", 9)
DirRemove($by & "\Reg_Result", 1)
Office.ini
Код:
[Registry]
KeyName=HKEY_LOCAL_MACHINE;HKEY_USERS
и сам батник
Код:
@echo off
COLOR 17
cd /d %~dp0
SetLocal EnableExtensions EnableDelayedExpansion
If Not DEFINED arch set arch=%2
reg.exe query "HKU\S-1-5-19" >nul 2>&1
if %errorlevel% equ 1 (goto :UACPrompt) else (goto :find)
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~fs0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /b
:find
mode con:cols=87 lines=36
echo:
echo:
cls
Set "Value=%~1"
set Folder=Reg_Result\%Value%_%arch%
set log=%Folder%\FindReg_%Value%.log
md "%Folder%" 2>nul
goto :next
:next
echo Ищем все ключи: %Value%
echo.
echo Пожалуйста, подождите...
echo.
for %%i in (
%3
%4
%5
%6
) do (
call :SeekHive %%i
call :BackUP %%i
)
copy "%Folder%\*.reg" "OfReg_%arch%.reg" >NUL
echo.
cmd /u /c type "%log%" >"%Folder%\Change.txt"
exit /b
:SeekHive [Hive Name]
set pos=0
set keyN=0
echo [%~1]
echo [%~1] >>"%log%"
for /f "delims=" %%a in ('"reg query "%~1" /F "%Value%" /S /K /D"') do (
echo %%a >>"%log%"
echo %%a
)
exit /B
:Backup
for /f "delims=" %%i in ('findstr /RC:"^%~1.*" "%log%"') do (
set /a KeyN+=1
reg export "%%i" "%Folder%\[%~1]!KeyN!.reg" /y 2>NUL 1>&2
)
exit /B
Сообщение автоматически объединено:
может быть я не туда написал, направьте.
Последнее редактирование: