Изменить исполняемый файл службы

Обновлено: 07.07.2024

Что такое переменная path и зачем она нужна в windows. зачем нужно добавлять путь?

PATH – это системная переменная окружения Unix-подобных (например, Linux Mint) операционных систем, а также операционных систем семейства Windows. В переменной PATH нет ничего сложно и хитрого, это обыкновенный список папок и каталогов, в которых лежат исполняемые файлы (программы).

Программы, путь к исполняемым файлом которых задан в системной переменной PATH, могут быть исполнены (запущены) непосредственно из командной строки Windows и из любого места вашей файловой системы (в Linux тоже есть командная строка, но ее лучше называть эмулятор терминала).

Давайте лучше посмотрим на примере зачем нужна переменная PATH в операционных системах семейства Windows (как, впрочем, и в других семействах). Смотреть будем на примере сторонней утилиты командной строки Windows tracetcp.exe. Она у меня установлена по следующему пути: c:Program Filestracetcp. Запустим командую строку Windows и попробуем выполнить команду tracetcp.

Пробуем запустить стороннюю утилиту командной строки Windows

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

Ввод путей с пробелами

Хитрость заключается в двойных кавычках. Сделайте эмпирическое правило заключать в двойные кавычки все пути к файлам, которые вы вводите в командной строке.

Следующая команда не будет выполняться. В пути есть пробел, и в этом месте команда прерывается, и командная строка считает, что вы ввели новую команду или параметр.

Видео инструкция

Надеюсь, несмотря на краткость, материал окажется полезным для кого-то из читателей.

Задержки в командных файлах

Когда-то, еще в DOS, для организации ожидания в командном файле использовалась удобная
команда SLEEP, но затем она почему-то перекочевала из стандартного установочного набора
Windows в дополнительный Resource Kit. Можно просто скопировать его оттуда в каталог system32
и использовать в ваших командных файлах.

Если же Resource Kit нет под рукой, можно воспользоваться ранее рассмотренной
командой CHOISE без вывода текста и с автоматическим формированием ответа через
nn секунд (1-99):

Использование командных файлов в сценариях регистрации
пользователей .

В дополнение к данной статье смотрите:

Список команд,
используемых в командной строке Windows. Перечень команд CMD Windows и краткая справка с примерами.

Отдельная статья о работе с сетью в командной строке Windows

Настройка командной строки Windows

Хочу изменить путь у службы в ОС Windows , и не знаю как это сделать, где что надо поменять. Удалять службу целиком не хочу, нужно лишь поменять путь к исполняемому файлу службы . Как изменить путь исполняемого файла у службы в ОС Windows ?

изменить исполняемый файл службы windows
изменить исполняемый файл службы операционной системы windows

Командная строка (cmd) windows и её команды (параметры)

Где находится командная строка?

Как запустить / открыть / вызвать командную строку?

4) Запуск из системной папки: :WINDOWSsystem32cmd.exe

в этом случае вверху окна будет значится

командная строка (путь).

Команды / параметры / ключи командной строки .
Узнать команды командной строки можно прям в ней же, набрав help и нажав клавишу Enter (после окончания ввода всех команд нужно использовать именно Enter (ВВОД) ).

только этот список не совсем полный, в нём отображаются лишь основные наиболее часто используемые команды и параметры.

Ниже, под спойлером, я собрал

список команд командной строки (CMD) и их описание

Узнать все параметры для каждой команды в командной строке, можно с помощью команды:

Я хотел бы изменить путь к моему приложению, но это нарушит его, потому что служба по-прежнему указывает на старое местоположение.

Перейдя к Administrative Tools > Services , вы можете открыть диалоговое окно свойств и просмотреть Path to executable , но нет возможности изменить его.

Есть ли способ изменить путь к службе без переустановки приложения?

Также существует этот подход, замеченный в SuperUser, который использует командную строку sc вместо изменения реестра:

Примечание: пробел после binPath= важен. Вы также можете запросить текущую конфигурацию, используя:

Результат будет примерно таким:

[SC] QueryServiceConfig УСПЕХ

SERVICE_NAME: ServiceName

Вы можете удалить сервис:

Затем воссоздайте сервис.

Немного глубже с командой 'SC', мы можем извлечь все 'Services Name' и получить все 'QueryServiceConfig' :)

Сделайте "небольшое" редактирование NOTEPAD2 ..

Затем продолжайте с "CMD" ..

Исходные данные готовы для подачи в «будущий командный файл», поэтому результат будет выглядеть так, как показано ниже .

Но с HTML будет намного проще: D

Приветствуются любые яркие идеи по улучшению V ^ _ ^

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

Небольшая модификация этого ответа @CodeMaker для всех, кто вроде меня, пытается изменить службу MongoDB для использования аутентификации.

Когда я посмотрел на «Путь к исполняемому файлу» в «Службах», выполненная строка уже содержала речевые метки. Поэтому мне пришлось внести небольшие изменения в его пример.

Чтобы быть конкретным.

  1. Тип службы в Windows
  2. Найдите MongoDB (или службу, которую вы хотите изменить) и откройте службу, обязательно остановив ее.
  3. Запишите имя службы (не отображаемое имя)
  4. Найдите и скопируйте «Путь к исполняемому файлу» и скопируйте его.

Для меня путь был (обратите внимание на речевые знаки)

В командной строке введите

В моем случае это было

Откройте «Выполнить» (win + R), введите «Regedit.exe», чтобы открыть «Редактор реестра», перейдите в

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services

Найдите " Apache2.4 " откройте папку найдите " ImagePath " справа, откройте "ImagePath" в разделе " значение данных " введите следующий путь:

«C: \ xampp \ apache \ bin \ httpd.exe» -k runservice для других XAMPP указывает на место, где установлен Apache, а внутри находится папка bin «C: (место установки Apache) \ bin \ httpd.exe "-k runservice

Вы также можете сделать это с помощью PowerShell:

Как изменить путь к исполняемому файлу службы?

HKLM System CurrentControlSet Services ServiceName

Как вы обновляете службы Windows?

Получите последнее обновление для Windows 10

Как превратить программу в службу Windows?

Как преобразовать EXE в службу Windows

Как мне найти путь к команде в Windows?

Или следуйте приведенным ниже инструкциям, чтобы открыть командную строку (даже быстрее, чем в Windows Server).

  1. Перейдите в папку назначения и щелкните путь (выделен синим).
  2. введите cmd.
  3. Откроется командная строка с указанием пути к вашей текущей папке.

Что такое служебный путь?

Как изменить имя службы Windows?

Каков тип запуска службы Центра обновления Windows?

Какая последняя версия Windows?

Что подразумевается под Центром обновления Windows?

Как управлять службами Windows?

Может ли служба Windows запустить приложение?

Службы Windows не могут запускать дополнительные приложения, потому что они не работают в контексте какого-либо конкретного пользователя. В отличие от обычных приложений Windows, службы теперь запускаются в изолированном сеансе и им запрещено взаимодействовать с пользователем или рабочим столом.

Как запустить службу Windows из командной строки?

Чтобы запустить службу из командной строки, выполните следующие действия:

Как изменить путь в командной строке?

Установка временного пути

  1. Откройте командную строку в Windows.
  2. Скопируйте путь к каталогу jdk / bin, в котором находится java (C: Program Files Java jdk_version bin)
  3. Напишите в командной строке: SET PATH = C: Program Files Java jdk_version bin и нажмите Enter command.

Как выбрать путь в командной строке?

Я хотел бы изменить путь к моему приложению, но это нарушает его, потому что служба все еще указывает на старое местоположение.

Перейдя в Administrative Tools > Services , вы можете открыть диалог свойств и просмотреть Path to executable , но изменить его невозможно.

Можно ли каким-либо образом изменить путь к службе, не переустанавливая приложение?

Хотя в конечном итоге это приводит к данным реестра, я должен отметить, что существуют специальные функции Windows API для работы со службой. Следует избегать прямого изменения реестра (потому что вы не можете быть уверены, что еще Windows изменяет, когда изменяет путь к exe, например), если вы не абсолютно уверены в том, что вы делаете. @lospejos "Я должен упомянуть, что существуют специальные функции Windows API для работы со службой" . что будет? Если кто-то не видит путь службы, обновленный в Services.msc, попробуйте убить mmc.exe "taskkill / F / IM mmc.exe" в cmd

Существует также этот подход, наблюдаемый на SuperUser, который использует командную строку sc вместо изменения реестра:

Примечание: пространство после binPath= важно. Вы также можете запросить текущую конфигурацию, используя:

Отображает вывод, похожий на:

[SC] QueryServiceConfig УСПЕХ

SERVICE_NAME: ServiceName

Я рекомендовал бы этот подход по прямым изменениям реестра. Для многих путей требуются строки в кавычках, которые можно ввести следующим образом, например, для MS SQL Server: sc config mssqlserver binPath= "\"F:\SQL DATA\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe\" -sMSSQLSERVER" Это также, вероятно, немного лучше в сценарии развертывания, чем метод прямого изменения реестра. Милая. Чище, чем копаться в рег. ** Примечание: вам нужно будет закрыть и открыть services.msc, чтобы увидеть изменения. Если вы получили [SC] QueryServiceConfig FAILED 122: после sc qc X используйте sc qc X 1000 посмотрите это Если вы используете это из PowerShell, убедитесь, что вы используете sc.exe , а не голый sc

Вы также можете сделать это с помощью PowerShell:

Вы можете удалить службу:

Затем заново создайте службу.

Нет необходимости делать это, есть как минимум 3 лучших способа сделать это

Немного глубже с командой "SC", мы можем извлечь все "Имя службы" и получить все "QueryServiceConfig":)

Сделайте небольшое редактирование NOTEPAD2..

Затем перейдите к 'CMD'..

Изображение 7323

Сырые данные готовы к загрузке "будущего командного файла", поэтому результат будет выглядеть следующим образом:

Читайте также: