Добрый день, у меня есть .bat файл, который запускает определенное приложение, то через 5 секунд он закроет / убить его.
я, имея прямо сейчас из-за этого успешно открыть приложение мысли, когда приложение открывает он не будет выполнять оставшиеся команды, если я вручную закрыть приложение.
cd «C:Program Files (x86)AsperaPoint-to-Pointbin» asperascp.exe sleep 5 taskkill /IM asperascp.exe /f
Я также пытаюсь удалить .
cd «C:Program Files (x86)AsperaPoint-to-Pointbin» asperascp.exe taskkill /IM asperascp.exe /f
но он будет иметь тот же вывод, он не будет выполнять оставшиеся команды, когда asperascp.исполняемые начинается.
автор: Edmhar
2 ответов
автор: Hackoo
TASKKILL /IM asperascp.exe /F
убьет все изображения с одинаковым именем. Так, например, если вы запустите одну и ту же программу дважды, а вторая начнется до того, как первая выйдет, вторая тоже будет убита, когда первая запустит taskkill. Если вы это сделаете tasklist вы увидите некоторые изображения с тем же именем изображения, но с разными PID. Вам нужно будет получить PID процесса, запущенного вашим пакетным файлом (я не могу придумать, как это сделать с CMD.) Тогда вы можете использовать: TASKKILL /PID 999 /F
(1) Создание bat вируса
Источник: askdev.ru
Как закрыть приложение через bat
Файл с расширением .bat или .cmd.
Скрипт убивает все процессы с именем nameprocess.exe
Для того чтобы закрыть процессы запущенные от привилегированных пользователей, скрипт должен быть запущен от этого пользователя.
——————————
TASKKILL /F /IM «nameprocess.exe»
——————————
Подробное описание команды TASKKILL.
Описание:
Эта команда позволяет завершить один или несколько процессов.
Процесс может быть завершен по имени образа или по идентификатору процесса.
Список параметров:
/S Подключаемый удаленный компьютер.
/U [] Пользовательский контекст, в котором
должна выполняться эта команда.
/P Пароль для этого пользовательского контекста.
Запрашивает пароль, если он не задан.
/F Принудительное завершение процесса
/FI Отображение задач, отвечающих
указанному в фильтре критерию.
/PID Идентификатор процесса, который требуется
завершить.
/IM Имя образа процесса, который требуется
завершить. Для указания всех процессов
можно использовать символ шаблона ‘*’.
/T Завершение указанного процесса
и всех его дочерних процессов.
/? Вывод справки по использованию.
Примечание: Символ ‘*’ для параметра /IM применим только совместно с фильтрами.
Примечание: Завершение удаленных процессов всегда будет принудительным,
независимо от того, был ли использован параметр /F или нет.
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Топ 5 bat-файлов которые вам пригодятся
чтобы она закрылась как через крестик, а не TASKKILL » |
Запустите Блокнот, наберите в нём несколько символов, откройте командную строку, наберите и исполните в ней команду:
Убедитесь, что Блокнот получил уведомление о закрытии своего окна, поскольку вывел запрос о сохранении набранного текста:
Теперь Вы должны понимать, что данная форма команды «taskkill.exe» — без принудительного закрытия (параметра «/f») — работает именно так, как Вы и хотели — «как через крестик».
закрыть (обычным способ, не taskkill) все программы, кроме c:program.exe. » |
При снятии процессов некоторых системных служб операционная система будет принудительно перезагружена. Вам это надо?!
Хочу поднять тему, поскольку нужно то же решение, но требуется немного автоматизации.
taskkill.exe /fi «ImageName eq notepad.exe» действует точно так же как будто мы нажали крестик. И верно — блокнот спрашивает сохранить ли набранный текст.
Вопрос. Как на все вопросы, возникающие при закрытии программы автоматически ответить «Да». В справке по taskkill.exe нет ничего нужного. taskkill /f — не подходит! Почему — ответ ниже.
Для тех кто любит спрашивать «А зачем тебе это надо?» сразу отвечаю. У меня стоит ночное архивирование баз 1с. Если кто то оставил программу не закрытой, то база не архивируется, потому как 1С ставит запрет на использование файлов базы любым другим процессам во время ее работы. При использовании taskkill /f /im 1cv8.exe приложение закрывается. Но запрет на использование файлов базы остается и архиватор не пакует эту базу.
При попытке закрыть программу taskkill.exe /fi 1cv8.exe 1С спрашивает, Вы уверены, что хотите закрыть программу? Вот тут-то и нужно автоматически ответить «Да».
Для тех, кто любит доколупаться.
На вопрос «А если документ поправили и не сохранили. » Ответ — Да, сохраняем! И меня не волнует что там сделали, все равно сохраняем.
Как я понимаю taskkill не то что мне нужно. Кто подскажет как решить проблему и в какую сторону «копать»? Сразу скажу, что я не программист и хреновый администратор, поэтому определениями и жаргоном не засыпать. Подскажите человеческим языком.
Для доступа на рабочую станцию я использую Remote Desktop Connection, но при этом знаю как выполнить закрытие/перезагрузку, как из меню «Пуск».
49.5k 72 72 золотых знака 250 250 серебряных знаков 482 482 бронзовых знака
Используя следующие команды вы можете завершить Windows с помощью bat–файла:
- shutdown -r — перезагрузка
- shutdown -s — закрытие
- shutdown -l — завершение сеанса
- shutdown -t xx — где xx — кол-во секунд ожидания до закрытия/перезагрузки/конца сеанса
- shutdown -i — выдаёт диалоговое окно для указания, какой функцией вы хотите воспользоваться
- shutdown -a — сбрасывает предыдущую команду закрытия Windows. Очень удобно!
- shutdown -h — режим сна. Распространённая ошибка: это не вызов файла справки!
Если вы работаете с удалённого компьютера, бывает полезно добавить опцию -f для принудительной перезагрузки. В противном случае, ваша сессия может завершиться и «упрямое» приложение приведёт к сбою в системе.
Когда мне нужно произвести немедленную перезагрузку, я использую следующее:
Если действовать более мягко, оставляя некоторое время перед перезагрузкой, можно воспользоваться следующей командой:
Как можно понять из комментариев, отсрочка закрытия по умолчанию предполагает -f.
Также существует опция -m для удалённого закрытия Windows:
- Параметр -r вызывает перезагрузку (что, как правило, подходит при работе с удалённой машиной, поскольку её физический запуск может оказаться затруднительным).
- Параметр -f вызывает принудительную перезагрузку.
- Естественно, для закрытия системы на удалённой машине вы должны иметь соответствующие права доступа.
У вас также есть вся серия » rundll32.exe shell32.dll » (пожалуйста, перед использование посмотрите секцию НО, так как использовать данный подход с большой вероятностью не стоит):
-
rundll32.exe user.exe,**ExitWindows** [Быстрое закрытие Windows]
rundll32.exe user.exe,**ExitWindowsExec** [Перезагрузка Windows]
где n принимает следующие значения:
- 0 — LOGOFF
- 1 — SHUTDOWN
- 2 — REBOOT
- 4 — FORCE
- 8 — POWEROFF
(значения можно комбинировать -> 6 = 2+4 FORCE REBOOT )
Не используйте для вашей цели rundll32.exe . rundll32.exe ожидает, что функция, передаваемая вами в командной строке, имеет точно заданную сигнатуру метода, которая может не совпадать с сигнатурой метода ExitWindows .
Сигнатура функции, необходимая для функций, вызываемых rundll32.exe такова:
Это не останавливает некоторых от использования rundll32 для вызова произвольных функций, не предназначенных для вызова rundll32, например, user32 LockWorkStation и user32 ExitWindowsEx`.
Вот настоящая сигнатура функции для ExitWindowsEx :
И для полной ясности:
Rundll32 — отголосок прошлого, оставшийся от Windows 95 и устаревший как минимум во времена Windows Vista из-за того, что нарушает множество современных технических принципов.
Для доступа на рабочую станцию я использую Remote Desktop Connection, но при этом знаю как выполнить закрытие/перезагрузку, как из меню «Пуск».
49.5k 72 72 золотых знака 250 250 серебряных знаков 482 482 бронзовых знака
Используя следующие команды вы можете завершить Windows с помощью bat–файла:
- shutdown -r — перезагрузка
- shutdown -s — закрытие
- shutdown -l — завершение сеанса
- shutdown -t xx — где xx — кол-во секунд ожидания до закрытия/перезагрузки/конца сеанса
- shutdown -i — выдаёт диалоговое окно для указания, какой функцией вы хотите воспользоваться
- shutdown -a — сбрасывает предыдущую команду закрытия Windows. Очень удобно!
- shutdown -h — режим сна. Распространённая ошибка: это не вызов файла справки!
Если вы работаете с удалённого компьютера, бывает полезно добавить опцию -f для принудительной перезагрузки. В противном случае, ваша сессия может завершиться и «упрямое» приложение приведёт к сбою в системе.
Когда мне нужно произвести немедленную перезагрузку, я использую следующее:
Если действовать более мягко, оставляя некоторое время перед перезагрузкой, можно воспользоваться следующей командой:
Как можно понять из комментариев, отсрочка закрытия по умолчанию предполагает -f.
Также существует опция -m для удалённого закрытия Windows:
- Параметр -r вызывает перезагрузку (что, как правило, подходит при работе с удалённой машиной, поскольку её физический запуск может оказаться затруднительным).
- Параметр -f вызывает принудительную перезагрузку.
- Естественно, для закрытия системы на удалённой машине вы должны иметь соответствующие права доступа.
У вас также есть вся серия » rundll32.exe shell32.dll » (пожалуйста, перед использование посмотрите секцию НО, так как использовать данный подход с большой вероятностью не стоит):
-
rundll32.exe user.exe,**ExitWindows** [Быстрое закрытие Windows]
rundll32.exe user.exe,**ExitWindowsExec** [Перезагрузка Windows]
где n принимает следующие значения:
- 0 — LOGOFF
- 1 — SHUTDOWN
- 2 — REBOOT
- 4 — FORCE
- 8 — POWEROFF
(значения можно комбинировать -> 6 = 2+4 FORCE REBOOT )
Не используйте для вашей цели rundll32.exe . rundll32.exe ожидает, что функция, передаваемая вами в командной строке, имеет точно заданную сигнатуру метода, которая может не совпадать с сигнатурой метода ExitWindows .
Сигнатура функции, необходимая для функций, вызываемых rundll32.exe такова:
Это не останавливает некоторых от использования rundll32 для вызова произвольных функций, не предназначенных для вызова rundll32, например, user32 LockWorkStation и user32 ExitWindowsEx`.
Вот настоящая сигнатура функции для ExitWindowsEx :
И для полной ясности:
Rundll32 — отголосок прошлого, оставшийся от Windows 95 и устаревший как минимум во времена Windows Vista из-за того, что нарушает множество современных технических принципов.
- Lt21 4g часы настройки и приложения
- Как разрешить доступ к камере приложению бинанс
- Какое приложение показывает задолженности
- Как узнать pid приложения
- Не работает приложение загадочный дом
Источник: telefony-gid.ru
Как автоматически закрыть окно cmd после выполнения пакетного файла?
Этот командный файл используется для запуска приложения Xming, а затем для приложения PuTTY, чтобы я мог использовать SSH в моей университетской компьютерной лаборатории.
Однако, если я запустил это, и Xming еще не открыт, как только я выйду из терминала PuTTY, окно cmd останется открытым. Только если я уже запустил Xming, окно cmd закрывается, когда я закрываю терминал PuTTY. Я попытался добавить exit в последнюю строку командного файла, но безрезультатно.
ОТВЕТЫ
Ответ 1
Измените командный файл на START обе программы, а не START ввод одного и CALL другого
start C:UsersYiweiDownloadsputty.exe -load «MathCS-labMachine1» start «» «C:Program Files (x86)XmingXming.exe» :0 -clipboard -multiwindow
Если вы запустите его таким образом, после запуска программы CMD-окно не останется открытым.
Ответ 2
- Обычно вы заканчиваете командный файл с строкой, которая просто говорит exit
* Если вы хотите убедиться, что файл запущен, и для закрытия окна DOS через 2 секунды вы можете добавить строки:
- Но. команда exit не будет работать, если ваш пакетный файл откроет другое окно — потому что, хотя второе окно открыто, также будет показано старое окно DOS.
РЕШЕНИЕ: Например, там есть небольшой бесплатный прогейм под названием BgInfo, который отобразит всю информацию о вашем компьютере. Предположим, что это в каталоге C:BgInfo. Чтобы запустить его из пакетного файла с помощью переключателя «/popup». И для того, чтобы окно DOS закрывалось после этого, пока оно все еще выполняется, используйте:
Ответ 3
Это сработало для меня. Я просто хотел закрыть окно команды автоматически после выхода из игры. Я просто дважды нажимаю на .bat файл на своем рабочем столе. Нет ярлыков.
taskkill /f /IM explorer.exe C:»GOG Games»StarcraftStarcraft.exe start explorer.exe exit /B
Ответ 4
Добавьте этот код в конце кода выполнения
Ответ 5
Вы можете попробовать несколько опасное: taskkill /IM cmd.exe ..dangerous bcz, который убьет открытый CMD и любой CMD, открытый перед ним.
Или добавьте подтверждение, чтобы подтвердить, что у вас есть правильный cmd.exe, а затем убить его с помощью PID, например:
set loc=%time%%random% title=%loc% for /f «tokens=2 delims= » %%A in (‘tasklist /v ^| findstr /i «%loc%»‘) do (taskkill /PID %%A)
Замените (pslist A) или (tasklist /FI «PID eq %%A») для (taskkill /PID %%A) , если вы хотите сначала проверить его (и, возможно, установить pstools).
Ответ 6
Если вы хотите разделить команды на одну команду на файл, вы можете сделать
cmd /c start C:UsersYiweiDownloadsputty.exe -load «MathCS-labMachine1»
а в другом файле вы можете сделать
cmd /c start «» «C:Program Files (x86)XmingXming.exe» :0 -clipboard -multiwindow
Команда cmd/c закроет окно командной строки после запуска exe.
Ответ 7
У меня та же проблема с разными вызовами в командном файле. У меня есть командный файл, который содержит следующие строки:
начать/подождать abaqus cae noGUI = «c:tempCode1.py» cmd/c EXIT 0
Этот пакетный файл вызывается из кода Фортрана. После вызова он открывает командное окно и запускает Code1.py. Поскольку он не закрывает командное окно, код Fortran, который вызвал этот командный файл, приостанавливает операцию, пока я не закрою командное окно вручную. Я был бы очень признателен, если бы кто-нибудь мог мне помочь с этим.
Ответ 8
У меня было это, я добавил EXIT , и изначально это не сработало, я полагаю, что каждый из них требует совета called program exiting , упомянутого в другом ответе здесь, однако теперь он работает без лишнего шума — не уверен, что вызвало это, но следует отметить, что я вызываю файл данных .html , а не программу, которая обрабатывает его browser.exe , я ничего не редактировал, но достаточно сказать, что он очень аккуратный, просто используя файл bat для доступа к основному доступ к страницам этих веб-документов и только наличие title.bat , contents.bat , index.bat в корневой папке с остальной частью содержимого во вложенной папке.
i.e.: contents.bat читает
cd subfolder «contents.html» exit
Это также выглядит лучше, если я изменяю значки файла bat только для этих элементов в соответствии с контекстом, в котором они находятся, но это другое дело, скрывая файлы bat во вложенной папке и создавая специальные ярлыки для них в корневой папке с изображениями, вызываемыми для настройки, также скрытыми.
Источник: utyatnishna.ru