2

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

Мне интересно, смогу ли я создать подобный файл, который убьет ряд рабочих приложений (например, облачные сервисы, evernote и т.д.). при запуске изначально. Затем перезапустите те же самые приложения, когда я закончу играть в игры или что-то еще, что я делаю, которым не нужны все эти программы.

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

2 ответа2

1

Вот командный файл в одну строку, который вы можете использовать:

tasklist /fi "ImageName eq notepad.exe" | find /i "notepad.exe" && taskkill /fi "ImageName eq notepad.exe" || start "" notepad.exe

Он прекратит работу всех запущенных экземпляров Блокнота и, если их нет, запустит Блокнот. Изменить по мере необходимости. (Например, если вы хотите сделать более сложные вещи, используйте циклы if-else , проверьте уровень ошибок и т.д. Посмотрите, if /? для большего.)

0

Вам нужно что-то сказать .bat файл, который он запускал раньше. Вы можете добавить ключ реестра, переменную окружения, значение в файл .txt ... Небо это предел, вам просто нужно сохранить значение в чем-то, что не будет потеряно при закрытии .bat . Самое простое решение:

@echo off
if exist ran_once.txt (
start process1.exe
start "path/to/process2.exe"
...
del /q ran_once.txt
) else (
taskkill /f /im process1.exe
taskkill /f /im process2.exe
...
echo foo>ran_once.txt
)

Убедитесь, что ran_once.txt находится в той же папке, что и .bat , или используйте full/path/to/ran_once.txt

Более удачным решением было бы сделать pause после завершения всех процессов, открытия игры или чего-либо еще, а когда вы вернетесь из игры, просто нажмите любую клавишу в файле .bat чтобы продолжить работу и снова запустить все процессы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .