Условие на кол-во процессов
У меня запускается файл test.exe
Мне в батнике нужно прописать условие, что если запускается еще один такой файл test.exe, когда первый еще выполняется (там длительный процесс копирования) - то второй должен закрываться. Что-то типа: IF tasklist^|find /i "test.exe" GTR 1 goto:eof Как правильно написать это условие? |
( tasklist | find "test.exe" >nul ) || test.exe
|
Цитата:
Код:
tasklist | find /i "test.exe" || start "" "test.exe" Упс, припоздал. :) |
Немного не правильно наверное объяснил :( сорри ...
Есть батник с функциями копирования - он скомпилирован в exe файл (test.exe) с помощью bat to exe converter. Работает скрытно от пользователей (только окно cmd с текстом "Подождите ...") и чтобы они не могли там настройки поменять. Он отрабатывает копирование какое-то время, в процессах висит его имя (test.exe). Пользователям иногда кажется что ничего не происходит и пытаются запустить его снова. Т.е. в одно и тоже время начинает отрабатывать один и тот же файл, а это допустить никать нельзя. Нужно встроить проверку, что если такой процесс уже есть (test.exe) goto :eof. |
Цитата:
Код:
tasklist | find /i "test.exe" && goto:eof |
amel27, так он ни разу не выполнится, ибо найдёт сам себя :). Наверное, где-то так:
Код:
@echo off |
Iska, точно :) тогда можно так:
Код:
tasklist | find /i /c "test.exe" | find /v "1" >nul&& goto:eof |
Ну, вот :(. Я тоже вспомнил про «find.exe /v», но так и не сообразил, как можно избавиться от пустой строки в выводе tasklist :lol:. Спасибо.
|
Не работает данная команда:
tasklist | find /i /c "test.exe" | find /v "1" >nul&& goto:eof процесс видит сам себя и закрывается. |
Цитата:
|
Цитата:
|
Время: 06:07. |
Время: 06:07.
© OSzone.net 2001-