Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Закрытие определенного cmd.exe. (http://forum.oszone.net/showthread.php?t=313724)

trollface785@vk 11-04-2016 09:23 2625026

Закрытие определенного cmd.exe.
 
Привет. вот хочу сделать программу для себя что-бы не тратить время.

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

Например: два cmd.exe и надо закрыть один.
как это сделать?


Заранее спасибо :) !

Iska 11-04-2016 11:38 2625063

Код:

taskkill /pid xxxx
И да:
Цитата:

Цитата trollface785@vk
как сделать закрытие процесса с несколькими окнами.
Например: два cmd.exe и надо закрыть один. »

Это два процесса, а не «один с несколькими окнами».

trollface785@vk 11-04-2016 15:11 2625139

Цитата:

Цитата Iska
taskkill /pid xxxx »

это я понял. а что делать если он все время разный?
надо что-бы name.bat сама закрыла другой cmd?

Iska 11-04-2016 15:38 2625153

А как Вы определяете, какой из двух надо закрывать, по каким признакам?

trollface785@vk 11-04-2016 20:54 2625231

Цитата:

А как Вы определяете, какой из двух надо закрывать, по каким признакам?
открыв один из двух bat файлов и CMD я посмотрел один tasklist: там один PID это сам CMD.exe, а другой cmd.exe который был запущен через bat файл(PID менялся после каждого запуска BAT).
Можно ли остановить процесс с помощью других аргументов?

Iska 11-04-2016 21:19 2625238

trollface785@vk, просто ответьте на заданный вопрос.

trollface785@vk 11-04-2016 21:29 2625241

Цитата:

Цитата Iska
просто ответьте на заданный вопрос »

По PID (PID менялся после каждого запуска BAT)

Iska 11-04-2016 22:48 2625261

Вы не могли бы поточнее описать, как именно Вы выбираете среди двух PID'ов искомый?

Georgio 11-04-2016 23:10 2625264

Цитата:

Цитата trollface785@vk
... name.bat сама закрыла другой cmd... »



Код:

@echo off

set "x=%~f0"
for /f %%i in ('
 wmic process where "Name='cmd.exe' and CommandLine like '%%%x:\=\\%%%'" get ProcessId^|^
  findstr [0-9]
') do taskkill /f /im cmd.exe /fi "PID ne %%i"



Время: 11:34.

Время: 11:34.
© OSzone.net 2001-