Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата mitiya:
как бы скопировать ключи реестра »
типа такого?.. тоже хватает минусов:
- сохраняются ключи целиком, а не отдельные параметры;
- в REG-файлах нужно еще как-то заменить "HKEY_USERS\TEMP" на "HKEY_CURRENT_USER"
Код: Выделить весь код
@Echo Off
Set $Home=%~dp0
Set $Root=.

Set FileIncl=%$Home%FileIncl.txt
Set UserExcl=%$Home%UserExcl.txt
Set HKCUIncl=%$Home%HKCUIncl.txt

PushD %$Root%
If Exist users RD /S /Q users
MD Users
CD Users
For /F "Tokens=1,2" %%i In ('WMIC UserAccount Where LocalAccount^=True Get Name^,SID^,Status^|FindStr /IERC:"OK *"') Do Call :CopyUserProfile %%i %%j
PopD
Exit

:CopyUserProfile
 :: Сверка имени пользователя со списком исключения
 FindStr /IXC:"%1" %UserExcl%
 If Not ErrorLevel 1 GoTo :EOF
 CHCP 1251 >Nul
 :: Получение пути к профилю пользователя
 For /F "Tokens=1,2*" %%i In ('2^>Nul REG Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%2"^|FindStr /BIRC:" *ProfileImagePath"') Do Call Set $UserProfile=%%k
 If "%$UserProfile%"=="" GoTo :EOF
 :: Копирование файлов/каталогов по списку
 For /F "UseBackQ Tokens=* Delims=" %%A In ("%FileIncl%") Do If Exist "%$UserProfile%\%%A" XCopy /E/H/Q "%$UserProfile%\%%A" "%1\Files\%%A\"
 :: Копирование веток реестра по списку
 REG Load HKU\TEMP "%$UserProfile%\NTUSER.DAT" >Nul
 If ErrorLevel 1 GoTo :EOF
 For /F "UseBackQ Delims=" %%i In ("%HKCUIncl%") Do (
    @Echo F|XCopy /Q/R/V "%~dpnx0" "%1\Regis\%%i.reg" >Nul
    If Exist "%1\Regis\%%i.reg" DEL /Q/F "%1\Regis\%%i.reg"
    REG Export "HKU\TEMP\%%i" "%1\Regis\%%i.reg" /Y
 )
 REG Unload HKU\TEMP >Nul
 CHCP 866 >Nul
GoTo :EOF

Отправлено: 08:55, 27-04-2009 | #3