Войти

Показать полную графическую версию : [решено] Перенести всё из bat в inf


SharkyEXE
04-01-2013, 15:50
Всем здравствуйте.

Есть 100%но работающий, как мне надо, файл 1.bat (кодировка 866 (OEM - русская)) с текстомREG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /f
REG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /f

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /v "Order" /t REG_EXPAND_SZ /d "" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /v "Order" /t REG_EXPAND_SZ /d "" /f

REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /A:Все:R /Q
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /A:Все:R /Q(файл REGPERM.exe находится в папке %WinDir%\system32).

Я хочу перенести всё то, что написано в 1.bat, т. е.REG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /f
REG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /f

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /v "Order" /t REG_EXPAND_SZ /d "" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /v "Order" /t REG_EXPAND_SZ /d "" /f

REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /A:Все:R /Q
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /A:Все:R /Qв файл 1.inf.

Вот у меня что получилось в файле 1.inf (кодировка 866 (OEM - русская))[Version]
Signature="$Windows NT$"

[DefaultInstall]
DelReg=DelReg
AddReg=AddReg
RunPreSetupCommands=cmd.begin

[DelReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs"
[AddReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs","Order",0x20000,""
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs","Order",0x20000,""
[cmd.begin]
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /A:Все:R /Q
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /A:Все:R /Q
Однако секция [cmd.begin] у меня почему-то не работает, хотя я прочитал это - Последовательное выполнение списка команд (AdvancedINF) (http://www.oszone.net/3827#exe), при этом секции [DelReg] и [AddReg] у меня работают 100%но также, как работают строкиREG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /f
REG DELETE "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /f

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /v "Order" /t REG_EXPAND_SZ /d "" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /v "Order" /t REG_EXPAND_SZ /d "" /fв файле 1.bat.

Пожалуйста, у кого есть время, возможность, желание - напишите мне, как сделать секцию [cmd.begin] рабочей, чтобы у меня в итоге получилась 100%ная замена файла 1.bat файлом 1.inf, чтобы я мог пользоваться или 1.bat, или 1.inf, но чтобы при этом результат был 100%но одинаковым.

Спасибо.

El Sanchez
04-01-2013, 22:00
1.inf (кодировка 866 (OEM - русская)) »
SharkyEXE, сохраните inf-файл в кодировке 1251 (ANSI). Запуск через ПКМ/Установить не пройдет, нужно:

rundll32 advpack.dll,LaunchINFSection c:\1.inf,DefaultInstall

gora
04-01-2013, 22:19
секция [cmd.begin] у меня почему-то не работает, хотя я прочитал это - Последовательное выполнение списка команд (AdvancedINF), »
Команда у Вас должна быть RunPostSetupCommands, а не RunPreSetupCommands

PS Попробуйте указать полный путь к REGPERM (где он у Вас лежит не знаю, а у меня в системе его нет).

SharkyEXE
05-01-2013, 11:41
сохраните inf-файл в кодировке 1251 (ANSI). Запуск через ПКМ/Установить не пройдет, нужно:
Код:
rundll32 advpack.dll,LaunchINFSection c:\1.inf,DefaultInstall »
Не работает.
Команда у Вас должна быть RunPostSetupCommands, а не RunPreSetupCommands »
Не работает.
PS Попробуйте указать полный путь к REGPERM (где он у Вас лежит не знаю, а у меня в системе его нет). »
Файл REGPERM.exe лежит в C:\WINDOWS\system32

Пробовал 4 версии файла C:\1.inf в кодировке 1251 (ANSI - кириллица) (программа AkelPad):
1я[Version]
Signature="$Windows NT$"

[DefaultInstall]
DelReg=DelReg
AddReg=AddReg
RunPostSetupCommands=cmd.begin

[DelReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs"
[AddReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs","Order",0x20000,""
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs","Order",0x20000,""
[cmd.begin]
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /A:Все:R /Q
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /A:Все:R /Q2я[Version]
Signature="$Windows NT$"

[DefaultInstall]
DelReg=DelReg
AddReg=AddReg
RunPostSetupCommands=cmd.begin

[DelReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs"
[AddReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs","Order",0x20000,""
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs","Order",0x20000,""
[cmd.begin]
C:\WINDOWS\system32\REGPERM.exe /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /A:Все:R /Q
C:\WINDOWS\system32\REGPERM.exe /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /A:Все:R /Q3я[Version]
Signature="$Windows NT$"

[DefaultInstall]
DelReg=DelReg
AddReg=AddReg
RunPreSetupCommands=cmd.begin

[DelReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs"
[AddReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs","Order",0x20000,""
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs","Order",0x20000,""
[cmd.begin]
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /A:Все:R /Q
REGPERM /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /A:Все:R /Q4я[Version]
Signature="$Windows NT$"

[DefaultInstall]
DelReg=DelReg
AddReg=AddReg
RunPreSetupCommands=cmd.begin

[DelReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs"
[AddReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs","Order",0x20000,""
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs","Order",0x20000,""
[cmd.begin]
C:\WINDOWS\system32\REGPERM.exe /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs" /A:Все:R /Q
C:\WINDOWS\system32\REGPERM.exe /K "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs" /A:Все:R /Qпутём запуска файла C:\1.bat с кодомrundll32 advpack.dll,LaunchINFSection c:\1.inf,DefaultInstallИтого - не работает секция [cmd.begin]
Спасибо.

SharkyEXE
05-01-2013, 12:20
2 all
Проблемка решилась, ура!!!

1) Файл REGPERM.exe лежит в %WinDir%\system32
2) 100%но рабочий, как мне надо, файл C:\1.inf в кодировке 1251 (ANSI - кириллица) (программа AkelPad) (важные моменты выделены подчёркиванием)[Version]
Signature="$Windows NT$"

[DefaultInstall]
DelReg=DelReg
AddReg=AddReg
RunPostSetupCommands=cmd.begin

[DelReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs"
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs"
[AddReg]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs","Order",0x20000,""
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs","Order",0x20000,""
[cmd.begin]
CmdLine = "REGPERM /K ""HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs"" /A:Все:R /Q"
CmdLine = "REGPERM /K ""HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu2\Programs"" /A:Все:R /Q"3) Файл C:\1.inf можно установить 2мя всем доступными способами:
1й1) один раз быстро нажать правую кнопку мышки на файле C:\1.inf
2) в появившемся контекстном меню выбрать Install2й1) создать файл C:\1.bat
2) в файле C:\1.bat написатьrundll32 advpack.dll,LaunchINFSection c:\1.inf,DefaultInstall3) запустить файл C:\1.bat
Всем спасибо.

sov44
22-07-2014, 22:49
Подскажите, как поставить кавычки в многострочной команде cmd /c, чтобы не было ошибки в последней строке.
cmd /c "Ver ^| Find "6." || (
at 1 |>nul find /i "Program Files" && ( echo ^>nul at 1 /delete)
at 2 |>nul find /i "Program Files" && ( echo ^>nul at 2 /delete)
)"

sov44
23-07-2014, 13:46
В несколько строк, как я понял, задачу не решить. Ответ подсказали на www.cyberforum (http://www.cyberforum.ru/cmd-bat)
cmd /c "Ver | Find "6." || ((at 1 | >nul find /i "Program Files" && ( echo ^>nul at 1 /delete)) & (at 2 | >nul find /i "Program Files" && ( echo ^>nul at 2 /delete)))"




© OSzone.net 2001-2012