Приветствую всех ! Сделал я все как здесь описано – и все хорошо, и отлично работает ! Но вот одна мелочь у меня не получается, прошу совета как решить эту проблемку, если это решается конечно … Так как файлов несколько, то я решил упаковать их все в один 7z-SFX для удобства. С таким кодом:
Код:
@Echo off cd /d %~dp0 regedit /S ShHFF.reg move /y ShHFF.vbs %WinDir% exit
Фай реестра отрабатывает, но в КМ компьютера не добавляется ! Тогда как абсолютно похожий комплект но для рабочего стола, отрабатывает нормально. Пробовал прописать содержимое рег файла прямо в батник, результата нет . Это какая-то специфика КМ компьютера ?
Если это X64 система, проблемы могут быть, в зависимости от того, в каком режиме (x32 или x64) запущен батник, изменения могут быть внесены в разные ветки реестра. Попробуйте добавить в начало батника строку
Код:
if defined PROCESSOR_ARCHITEW6432 start %SystemRoot%\Sysnative\cmd.exe /c "%~dpnx0" %* & exit
nikzzzz, В очередной раз Я знаю, что команды для SFX разделяются по разрядности, но что это еще и для реестра относится, не знал.. Вот теперь все заработало, можно собирать файл… Ps: меня сбило с толку, то, что такой же комплект, но для Р.Стола работает без “унисекс” строчки…
Привет … Таки появился еще один вопрос… Строчку нужно добавлять после команды (cd /d %~dp0) или перед ней ? Вариант 1: @Echo off cd /d %~dp0 if defined PROCESSOR_ARCHITEW6432 start %SystemRoot%\Sysnative\cmd.exe /c "%~dpnx0" %* & exit Вариант 2: @Echo off if defined PROCESSOR_ARCHITEW6432 start %SystemRoot%\Sysnative\cmd.exe /c "%~dpnx0" %* & exit cd /d %~dp0
Я тоже склонялся ко второму … потому как сама команда (if defined PROCESSOR_ARCHITEW6432 ...) подразумевает, что ей надо быть первой … но и другая команда тоже требует ))) На счет кавычек, не знал … учту, спасибо !
Ander_73, Согласен, но пользоваться недокументированными возможностями лучше только в случае крайней необходимости, они, например, могут по разному работать на разных версиях ос. Да и ситуации могут быть разные, пример
nikzzzz, спецсимволы в именах - это вообще ужас батникописателя. Тут не поспоришь. Кстати:
Xirobrin писал(а):
47553if defined PROCESSOR_ARCHITEW6432 start %SystemRoot%\Sysnative\cmd.exe /c "%~dpnx0" %* & exit
Мне кажется или это типичный бесконечный цикл? Или после запуска cmd "нативной" битности переменная станет not defined? ... ну, и придраться по мелочи: по-моему %~dpnx0 = %~0
nikzzzz, Продолжение следует … В общем – все ! с добавлением разобрались… Теперь удалить полностью не получается ))… поясни пожалуйста в чем причина . Прописываю я удаление верки.
Код:
[-HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Показать скрытые файлы и папки]
Ветка удаляется – но ссылка "REG_SZ" на ShHFF.vbs файл остается хоть ты тресни … . Какие только варианты я не перепробовал, все равно остаётся ! Всю ветку shell сносить не могу, есть еще и другие записи..
Xirobrin, по моему тут всё ясно и понятно... что просите удалить, то и удаляется... Если не подчищает следы, значит изначально что то где то не так разместили... Удаляйте значит дополнительно к ветки ещё и отдельные параметры...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы