首页 > 解决方案 > 当另一个程序关闭 .Bat 文件时关闭程序

问题描述

这是我迄今为止测试过的代码,并且两个程序在运行 .bat 时都打开了,我之后是在程序 1 关闭时关闭程序 2 的代码,因为我没有编码知识,所以将得到任何帮助:(

@echo off
start "TestFolder" "C:\Program Files (x86)\testfolder\test1.exe" %1
start "Testfolder2" "C:\Program Files (x86)\testfolder2\test2.exe"
taskkill /f /im test2.exe
exit

标签: batch-file

解决方案


您需要设置一个FOR /F循环来监视输出TaskList以检查第二个程序的窗口标题(并且您需要将该程序的窗口标题显式设置为独特的东西才能做到这一点。)

然后你将需要使用Taskkill来杀死其他任务。

@(SETLOCAL
  echo off )

CALL :Main

( ENDLOCAL
  EXIT /B )

:Main
  start "TestFolder1" "C:\Program Files (x86)\testfolder\test1.exe" %1
  start "Testfolder2" "C:\Program Files (x86)\testfolder2\test2.exe"
  CALL :Loop
  taskkill /f /im test2.exe
GOTO :EOF

:loop
  SET /A "n=10"
  TIMEOUT 10
  tasklist /V /NH /FI "IMAGENAME eq test1.exe" | FIND /I "TestFolder1" &&(
    GOTO :loop
  )
GOTO :EOF

推荐阅读