Чтение значения из файла в пакетном скрипте Windows - PullRequest
8 голосов
/ 18 ноября 2008

Я пытаюсь прочитать значение из файла и использовать его в последующей команде.

У меня есть файл с именем AppServer.pid, который содержит идентификатор процесса моего сервера приложений (просто число, это не файл свойств или что-то в этом роде).

Сервер приложений зависает, поэтому я хочу взять это значение и передать его команде kill. Так что мой сценарий будет что-то вроде

SET VALUE_FROM_FILE=AppServer.pid # or something
taskkill /pid %VALUE_FROM_FILE% /f

Есть ли удобный способ сделать это в сценариях Windows?

Ответы [ 3 ]

14 голосов
/ 18 ноября 2008

Это работает:

SET /P VALUE_FROM_FILE= < AppServer.pid
taskkill /pid %VALUE_FROM_FILE% /f

Параметр / P, используемый с SET, позволяет вам установить значение параметра, используя ввод от пользователя (или в этом случае, ввод из файла)

2 голосов
/ 18 ноября 2008
for /f %%G in (appid.txt) do (SET PID=%%G)
echo %PID%
taskkill etc here... 

Это может помочь!

1 голос
/ 19 июля 2016

Если вам известно имя процесса, которое возвращается из команды tasklist, то вы можете запустить taskkill с фильтром по имени процесса, т.е. /FI IMAGENAME eq %process_name%.

Например, чтобы убить все процессы с именем nginx.exe, запустите:

    taskkill /F /FI "IMAGENAME eq nginx.exe"

Который «читает по-английски»: уничтожить все задачи (принудительно, если необходимо, через /F), которые соответствуют фильтру /FI «IMAGENAME равно nginx.exe».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...