2015-03-25 3 views
0

Существует этот процесс создания приложения, который я пытаюсь автоматизировать. Для этого я написал java-файл, который запускается каждые 24 часа. Вызывается командный файл, который запускает сборку приложения всякий раз, когда он вызывается.Закрытие окна, которое появляется при запуске командного файла

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

ответ

1

Это может быть возможным с помощью taskkill, но вы должны были бы разработать фильтр, который бы идеально только матч процесс отображения окна и никогда не матч любого другого процесса. Что-то вроде:

taskkill /im program.exe 

или, может быть:

taskkill /fi "windowtitle eq title*" 

Вы также можете включить /f флаг для силового прекращения.

Вам также нужно попробовать и убедиться, что команда taskkill не запускается слишком быстро и предшествует созданию всплывающего окна. Вы можете попытаться запросить существование такого процесса/окна; ваш лучший выбор здесь, вероятно, wmic. Возможно:

@echo off 
setlocal enabledelayedexpansion 

set title=Notepad 
set pid= 
for /f %%i in ('wmic process where "caption like \"%%!title!%%\"" get processid^| findstr /r [0-9]') do @set pid=%%i 
if "!pid!" neq "" taskkill /f /pid !pid! 

Нет гарантии, что это всегда будет работать, но это, вероятно, лучшее, что вы можете сделать.

+0

Попробуй. Я очень новичок в программировании и автоматизации. Так может быть и до тех пор, пока я не получу эту работу :) – Uma

+0

@Uma, см. Edit, я улучшил скрипт. – bgoldst

+0

удивительный. Это очистило все больше ... спасибо тонну :) Я прокомментирую здесь, как только я пробовал это – Uma

 Смежные вопросы

  • Нет связанных вопросов^_^