PDA

Показать полную графическую версию : [решено] добавить много строк в реестр + %CD%


shadowbat
20-08-2014, 18:59
Здравствуйте
как одним файлом добавить много строк в реестр? (через bat либо reg) (сто разных строк)
при условии что одна из строк использует %CD%

пример: (половина на "языке" bat, половина на "языке" reg)

REG ADD "HKCU\Software\222" /v Path /d "%CD%\folder\file.exe" /f

Windows Registry Editor Version 5.00
[HKCU\Software\111]
"Activate"="NO"
"Detect"="NO"
"CD"="NO"
"Active"="NO"
"Country"=dword:00000004
"Save All"=dword:00000001

если я правильно понимаю, в reg нельзя использовать %CD%
а в батнике неужели перед каждой строкой писать REG ADD ?

то есть ответ будет такой?:

bat:

REG ADD "HKCU\Software\222" /v Path /d "%CD%\folder\file.exe" /f

REG ADD "HKCU\Software\111" /v "Activate" /d "NO" /f
REG ADD "HKCU\Software\111" /v "Detect" /d "NO" /f
REG ADD "HKCU\Software\111" /v "CD" /d "NO" /f
REG ADD "HKCU\Software\111" /v "Active" /d "NO" /f
REG ADD "HKCU\Software\111" /v "Country" /d "00000004" /t REG_DWORD /f
REG ADD "HKCU\Software\111" /v "Save All" /d "00000001" /t REG_DWORD /f

Georgio
20-08-2014, 20:30
shadowbat, пакетный файл (!!!):


Windows Registry Editor Version 5.00 2>nul& @cls

;@echo off
;REG ADD "HKCU\Software\222" /v Path /d "%CD%\folder\file.exe" /f
;REG IMPORT "%~fs0"
;pause>nul
;exit /b

[HKCU\Software\111]
"Activate"="NO"
"Detect"="NO"
"CD"="NO"
"Active"="NO"
"Country"=dword:00000004
"Save All"=dword:00000001




.

shadowbat
20-08-2014, 20:38
спасибо, выглядит красиво
при запуске bat выдает такое
http://s019.radikal.ru/i605/1408/1d/cee70185991f.png

и ждёт, как на паузе. при any key завершает работу файла
добавляет только первую строчку (в ...\222)

Georgio
20-08-2014, 20:42
shadowbat, измените код на такой:


Windows Registry Editor Version 5.00 2>nul& @cls

;@echo off
;REG ADD "HKCU\Software\222" /v Path /d "%CD%\folder\file.exe" /f
;REG IMPORT "%~fs0"
;pause>nul
;exit /b

[HKEY_CURRENT_USER\Software\111]
"Activate"="NO"
"Detect"="NO"
"CD"="NO"
"Active"="NO"
"Country"=dword:00000004
"Save All"=dword:00000001




.

shadowbat
20-08-2014, 20:54
спасибо, получилось!
я правильно понимаю, что нужно вручную отжимать паузу?
можно ли без нее либо вместо нее поставить задержку на пару секунд такую например?
;ping -n 2 -w 1 127.0.0.1 > nul

Georgio
20-08-2014, 21:04
shadowbat, правильно понимаете:


Windows Registry Editor Version 5.00 2>nul& @cls

;@echo off
;REG ADD "HKCU\Software\222" /v Path /d "%CD%\folder\file.exe" /f
;REG IMPORT "%~fs0"
;ping -n 3 localhost>nul
;exit /b

[HKEY_CURRENT_USER\Software\111]
"Activate"="NO"
"Detect"="NO"
"CD"="NO"
"Active"="NO"
"Country"=dword:00000004
"Save All"=dword:00000001




.

shadowbat
20-08-2014, 21:10
Georgio благодарю за оперативную помощь!

shadowbat
21-08-2014, 16:08
подскажите, а как сюда добавить удаление ветки HKEY_CURRENT_USER\Software\111 ?
т.е. сначала удалить, а потом добавить по сценарию как в сообщении #6

либо как то так:

[-HKEY_CURRENT_USER\Software\111] или reg delete [HKEY_CURRENT_USER\Software\111]

[HKEY_CURRENT_USER\Software\111]
"Activate"="NO"
"Detect"="NO"
"Path" = "%CD%\folder\file.exe"
"CD"="NO"
"Active"="NO"
"Country"=dword:00000004
"Save All"=dword:00000001

Georgio
21-08-2014, 17:34
shadowbat, всё верно: или [-HKEY_CURRENT_USER\Software\111], или ;REG DELETE "HKCU\Software\111" /f.


Windows Registry Editor Version 5.00 2>nul& @cls

;@echo off
;REG ADD "HKCU\Software\222" /v Path /d "%CD%\folder\file.exe" /f
;REG IMPORT "%~fs0"
;ping -n 3 localhost>nul
;exit /b

[-HKEY_CURRENT_USER\Software\111]

[HKEY_CURRENT_USER\Software\111]
"Activate"="NO"
"Detect"="NO"
"CD"="NO"
"Active"="NO"
"Country"=dword:00000004
"Save All"=dword:00000001


Windows Registry Editor Version 5.00 2>nul& @cls

;@echo off
;REG ADD "HKCU\Software\222" /v Path /d "%CD%\folder\file.exe" /f
;REG DELETE "HKCU\Software\111" /f
;REG IMPORT "%~fs0"
;ping -n 3 localhost>nul
;exit /b

[HKEY_CURRENT_USER\Software\111]
"Activate"="NO"
"Detect"="NO"
"CD"="NO"
"Active"="NO"
"Country"=dword:00000004
"Save All"=dword:00000001

shadowbat
21-08-2014, 17:48
Georgio, Благодарю за помощь!




© OSzone.net 2001-2012