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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - синтаксис в бат-файле

Ответить
Настройки темы
CMD/BAT - синтаксис в бат-файле

Пользователь


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

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


Всем добрый день!
Перепробовал все варианты, на вас последняя надежда
Ситуация такая: есть батник, который помимо всего прочего добавляет несколько значений в реестр. Вот эти строчки:

Код: Выделить весь код
y:\reg.exe add HKEY_CLASSES_ROOT\http\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f
y:\reg.exe add HKEY_CLASSES_ROOT\https\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f

y:\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f
y:\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f
Так вот, если закомментить вторую пару, то первая пара отрабатывает нормально. А если раскомментить вторую пару, то (ВНИМАНИЕ) и в разделы 1ой пару, и в разделы 2ой пары добавляются значения 2ой пары, а именно "C:\FirefoxPortable\FirefoxPortable.exe"

Менял их местами по разному, добавлял\убирал кавычки в пути ключа реестра - результат тот же!
Что с ним ещё сделать?

Отправлено: 13:55, 24-01-2014

 

Ветеран


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

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


Почему именно «y:\reg.exe»? «reg.exe» у Вас что — в системе отсутствует?

Цитата Dudee:
Так вот, если закомментить вторую пару, то первая пара отрабатывает нормально. А если раскомментить вторую пару, то (ВНИМАНИЕ) и в разделы 1ой пару, и в разделы 2ой пары добавляются значения 2ой пары, а именно "C:\FirefoxPortable\FirefoxPortable.exe" »
Дело в том, что раздел «HKEY_CLASSES_ROOT» складывается из двух частей: Реестр Windows — Википедия, HKEY_CLASSES_ROOT.

Для начала объясните, чего Вы хотите добиться.

Отправлено: 14:04, 24-01-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


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

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


Вот нежданчик .. получается, что это одна и та же ветка только называется по разному, и просто напросто какое значение было записано последним, такое будет в обеих ветках ?.. приехали ..

Я это делаю это, чтоб удалённо прописать Firefox браузером по умолчанию. Почему именно эти ветки? Я просто сравнил два снимка реестра, до и после установки Firefox'а по умолчанию на локальной машине (веток гораздо больше, эти я взял для примера).

Тогда вопрос : как сам Firefox умудряется прописать РАЗНЫЕ значения в одну и ту же ветку?

Отправлено: 15:11, 24-01-2014 | #3


Ветеран


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

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


Цитата Dudee:
Вот нежданчик .. получается, что это одна и та же ветка только называется по разному, и просто напросто какое значение было записано последним, такое будет в обеих ветках ?.. приехали .. »
Это не «одна и та же ветка». Ещё раз:
Цитата Iska:
раздел «HKEY_CLASSES_ROOT» складывается из двух частей »
приоритет у HKCU.

Цитата Dudee:
Я это делаю это, чтоб удалённо прописать Firefox браузером по умолчанию. »
Исполните удалённо (или групповой политикой) это.

Цитата Dudee:
Тогда вопрос : как сам Firefox умудряется прописать РАЗНЫЕ значения в одну и ту же ветку? »
Это не «одна и та же ветка».

Отправлено: 15:20, 24-01-2014 | #4


Пользователь


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

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


Цитата Iska:
Исполните удалённо (или групповой политикой) это. »
Дело в том что у меня версия портабл, но не суть важно, потому что с вашей помощью выяснил, что то, что было вписано в LOCAL_MACHINE транслируется в CLASSES_ROOT, а наоборот - нет. То есть достаточно просто поменять местами строчки и всё прописывается правильно! В данном случае так:
Код: Выделить весь код
y:\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f
y:\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f

y:\reg.exe add HKEY_CLASSES_ROOT\http\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f
y:\reg.exe add HKEY_CLASSES_ROOT\https\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f
Iska, большущее спасибо за правильное направление, а то бы так и искал ошибки в синтаксисе!

Отправлено: 15:28, 24-01-2014 | #5


Ветеран


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

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


Цитата Dudee:
а наоборот - нет. »
И наоборот — при условии, что нет аналогичного пути в HKCU. Если есть — пишется именно в HKCU.

Отправлено: 15:54, 24-01-2014 | #6


Пользователь


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

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


Рано обрадовался ..
В общем получается, что если запустить батник мышкой из-под юра на локальном компе, то всё отлично - Firefox везде правильно прописывается, ссылка из любого документа открывается именно ей, а вот если этот батник выполняется при включении кампа через групповую политику, то всё прописывается, но ссылки в документах открываются прежним браузером .. Подозреваю, что не хватает чего-то в CURRENT_USER.
Вот 1й батник, он запускается при включении кампа:
Код: Выделить весь код
c:\FirefoxPortable\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\http\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f
c:\FirefoxPortable\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\https\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f
c:\FirefoxPortable\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f
c:\FirefoxPortable\reg.exe add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ftp\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\FirefoxPortable.exe\"" /f

c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\http\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\https\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\ftp\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f

c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\.html\ /ve /t REG_SZ /d FirefoxHTML /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\.htm\ /ve /t REG_SZ /d "FirefoxHTML" /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\.shtml\ /ve /t REG_SZ /d "FirefoxHTML" /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\.xht\ /ve /t REG_SZ /d "FirefoxHTML" /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\.xhtml\ /ve /t REG_SZ /d "FirefoxHTML" /f

c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\ftp\DefaultIcon\ /ve /t REG_SZ /d "C:\FirefoxPortable\App\Firefox\firefox.exe,1" /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\http\DefaultIcon\ /ve /t REG_SZ /d "C:\FirefoxPortable\App\Firefox\firefox.exe,1" /f
c:\FirefoxPortable\reg.exe add HKEY_CLASSES_ROOT\https\DefaultIcon\ /ve /t REG_SZ /d "C:\FirefoxPortable\App\Firefox\firefox.exe,1" /f
Вот 2й батник, он выполняется при входе юзера в систему:
Код: Выделить весь код
c:\FirefoxPortable\reg.exe add HKEY_CURRENT_USER\Software\Classes\http\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f
c:\FirefoxPortable\reg.exe add HKEY_CURRENT_USER\Software\Classes\https\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f
c:\FirefoxPortable\reg.exe add HKEY_CURRENT_USER\Software\Classes\ftp\shell\open\command /ve /t REG_SZ /d "\"C:\FirefoxPortable\App\Firefox\firefox.exe\" -osint -url \"%%1\"" /f

c:\FirefoxPortable\reg.exe add HKEY_CURRENT_USER\Software\Clients\StartMenuInternet /ve /t REG_SZ /d "FIREFOX.EXE" /f
c:\FirefoxPortable\reg.exe add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage /ve /t REG_SZ /d "ProgramsCache" /f
Может вы видите чего не хватает?

Отправлено: 18:34, 24-01-2014 | #7


Ветеран


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

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


Цитата Dudee:
Может вы видите чего не хватает? »
Я вижу, что не надо заниматься извращениями в виде переназначения ассоциаций в реестре на portable-приложение. Моё мнение таково.

Отправлено: 20:15, 24-01-2014 | #8


Ветеран


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

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


Цитата Dudee:
c:\FirefoxPortable\reg.exe »
Что за reg.exe? Я бы поостерегся.

Отправлено: 22:34, 24-01-2014 | #9


Пользователь


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

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


Понятно, конструктивная информация закончилась, началась критика ..
Цитата Iska:
Я вижу, что не надо заниматься извращениями в виде переназначения ассоциаций в реестре на portable-приложение. Моё мнение таково. »
Надо.
Цитата Foreigner:
Что за reg.exe? Я бы поостерегся. »
Всё в порядке, это стандартная майкросовтовская утилита для работы с реестром.

Давайте не доводить до "посмотреть в гугле религия не позволяет" или "много раз тема поднималась". Видел я, что пишет гугл, и подходит это для запуска батника из-под юзера, но не при запуске машины из групповых политик.

Если не знаете, ничего не пишите, это просто.

Отправлено: 11:45, 26-01-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - синтаксис в бат-файле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] в файле найти дату, скопировать символы, дописать перед символами в другом файле sucher Скриптовые языки администрирования Windows 7 10-03-2016 17:42
Разное - в файле desktop.ini на флешке в этом файле написано... imrik Microsoft Windows 2000/XP 1 17-03-2012 00:58
CMD/BAT - Заменить строки в бат файле Gala.qwer Скриптовые языки администрирования Windows 1 11-08-2011 19:16
CMD/BAT - [решено] как делать окно активным в бат файле AlexM Скриптовые языки администрирования Windows 3 04-02-2010 08:01
CMD/BAT - что надо в бат файле прописать чтоб он в трей сворачивался? PHANTOM777 Скриптовые языки администрирования Windows 5 11-05-2009 16:39




 
Переход