关闭运行批处理文件时弹出的窗口

时间:2015-03-25 13:22:41

标签: windows batch-file ant automation build-process

我正在尝试自动化这个应用程序构建过程。为此我写了一个java文件,每24小时运行一次。 从这里调用批处理文件,无论何时调用它都运行应用程序构建。

我遇到了一个小问题,当由于文件不完整或无效而导致构建失败时,会弹出一个窗口,告诉我查看日志。 由于我没有编写构建文件,我不确定它是从哪里创建的。我想知道当进程从bat文件运行时是否可以关闭此窗口。

1 个答案:

答案 0 :(得分: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!

不能保证这一切都会有效,但它可能是你能做到的最好的。