Цитата zergnet:
For %%e In ("%FilePrg%") Do Set "Exe=%%~nxe" -это что за действие, проверка на запущенность программы? »
|
Это способ из пути "FilePrg=C:\Windows\System32\notepad.exe" выделить имя Exe файла, которое я затем ищу в процессах.
Цитата zergnet:
(TaskList /Fi "ImageName Eq %Exe%" |Find /I "%Exe%" »
|
Анализирую, запущен ли процесс, имя которого я получил; если он успешно найден (&&), пытаюсь его убить пока он отображается. Возможно, неплохо бы перед &GoTo поставить несколько секунд ожидания (см. timeout /?), но тут уж надо более тонкое понимание Вашей задачи. Я пытаюсь гарантированно убить процесс и избежать в последующем наличие дубликата процесса. Возможно, это паранойя.
Цитата zergnet:
а после кода >"%FileLog%" (Echo %DateTimeSee%)
пишу вызов другого батника? например
call killer.bat »
|
Телепатнуть, что в том батнике, не берусь, поэтому его смысл в рамках заявленной Вами задачи для меня великая тайна. Но, ИМХО, даже если он Вам нужен, лучше его оформить в моём батнике процедурой, чтобы не плодить лишний батник и с ним поводы ошибиться в путях вызова. Например:
Код:

.......
.......
Call :killer "%FilePrg%"
.......
.......
Exit /B 0
:killer
Echo %1 %~nx1
.................
.................
Exit /B 0
И, общее рассуждение, недоговоренность в постановке задачи обычно вылазит всем боком.