[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [己解决]批处理怎样让关闭一个软件另一软件也会自动关闭?

因甲.exe软件需乙.exe软件辅助才能完成作业,本人用一批处理同时运行两软件甲和乙,只要点击这个批处理就可使用甲乙软件,但关闭要分别关闭甲乙,觉得麻烦,请问是否有办法只关闭甲.exe软件乙.exe软件也会自动关闭?

[ 本帖最后由 jyq102322 于 2010-4-7 19:03 编辑 ]
1

评分人数

    • namejm: 感谢主动给标题标注[已解决]字样PB + 2

taskkill /f /im 甲.exe /im 乙.exe
同时关闭 甲.exe 和 乙.exe 进程
在快速启动里创建一个快捷方式,项目位置键入这个,关闭时直接点这个就可以

[ 本帖最后由 hanyeguxing 于 2010-4-6 22:12 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

意思是要甲.exe 和 乙.exe做成丙.bat,点击丙.bat就可启动甲.exe 和 乙.exe,关闭甲.exe就会同时关闭乙.exe,也就是说丙.exe里要有同时启动甲.exe 和 乙.exe后又要让只关闭甲.exe来关闭乙.exe批处理程序.

TOP

越想越乱,等我自己试验过了再贴

[ 本帖最后由 sgaizxt001 于 2010-4-7 08:22 编辑 ]

TOP

假设甲的运行程序为d:\编程\j.exe,乙为d:\编程\y.exe,乙软件的进程为a.exe
写如下批处理:

@echo off
if not "%1"=="wind" mshta vbscript:createobject("wscript.shell").run("""%~f0"" wind",vbhide)(window.close)&&exit
start d:\编程\y.exe
d:\编程\j.exe
taskkill /f /im a.exe
exit


路径有空格请加双引号。cmd会运行甲乙软件,然后后台运行,当关闭甲时,cmd会关闭乙的进程,然后退出。

但我试没成功

TOP

回复 4楼 的帖子

甲乙两软件不放在桌面比喻在g:\xxxx\甲.exe,乙.exe而做完的丙.bat放在桌面,不是要选择是否这样麻烦,直接点桌面丙.bat启动g:\xxxx\甲.exe和乙.exe后完成作业,在桌面甲.exe窗口关闭甲只要甲一关闭窗口乙自动关闭

TOP

是不是甲和乙都在同一目录?听你口气好象是甲需要乙才能运行,那么先启动甲在启动乙有影响吗?是不是在甲会自己关闭然后乙不会自动关闭,需要写代码让乙在甲关闭后自动关闭?你再试试我的代码,如果还是不行我再修改

[ 本帖最后由 sgaizxt001 于 2010-4-7 07:33 编辑 ]

TOP

标题

@Echo off
If "%1"=="" Mshta vbscript:CreateObject("WScript.Shell").Run("""%~nx0"" F",0)(window.close)&&Exit
start 甲.exe
start 乙.exe
:B
ping 127.1
tasklist|Find "甲.exe"||taskkill /F /IM 乙.exe&&Exit
goto B
没测试,不知行不行。

TOP

批处理如果要实现你说的功能会很麻烦,用进程监控可以实现,批处理启动两个程序后不退出,发现当前进程里面没有你的甲就关闭乙,这样很费CPU的。

你就照着2楼说的,建个 丁.bat ,双击就关闭两个程序不是很好么。

TOP

  1. start 乙.exe
  2. start /wait 甲.exe
  3. taskkill /f /im 乙.exe
复制代码

TOP

回复 7楼 的帖子

甲软件有缺陷滚轮不能控制后来有人做了个滚轮控制来辅助.先后启动不影响,只要作业时两软件有运行即可,甲软件窗口会显示在桌面而乙软件没窗口只是隐藏在任务栏,原软件甲不会自动控制乙,才需为图方便有这想法

TOP

回复 8楼 的帖子

非常感谢,可以用.这样方便多了

TOP

返回列表