gpt4 book ai didi

windows - 使用另一个批处理文件停止一个批处理文件?

转载 作者:可可西里 更新时间:2023-11-01 14:14:39 26 4
gpt4 key购买 nike

我有一个批处理文件,它使用以下命令在新的 cmd 提示符下启动一个新的批处理文件:

C:\Windows\System32\cmd.exe /c "start mybatch.bat"

mybatch.bat 进程会一直运行,直到有人停止它。当我们使用Ctrl+C信号关闭这个批处理文件时,它会进行收集覆盖数据的操作,然后出来。启动 mybatch 文件后,我正在父批处理文件上执行一些其他过程,然后我想停止 mybatch 文件。

我尝试使用 taskkill 使用父批处理文件中的命令关闭进程:

taskkill /fi "windowtitle eq c:\Windows\SYSTEM32\cmd.exe - mybatch.bat"

这里的问题是它强制停止批处理文件,不允许它运行覆盖过程,如果我手动使用 Ctrl+C 就会发生这种情况。关于如何使用父批处理文件停止 mybatch 文件有什么想法吗?

一切都是使用批处理文件完成的。非常感谢任何帮助。

我的主批处理文件看起来像这样:

start mybatch.bat
REM do something like copying files, running tests, etc
taskkill /fi "windowtitle eq c:\Windows\SYSTEM32\cmd.exe - mybatch.bat"

在上面的代码中,而不是执行 taskkill 如果我想在窗口标题为 "c:\Windows\SYSTEM32\cmd.exe - mybatch.bat”使用主批处理文件。可能吗?

最佳答案

测试.bat

@echo off
title mybatchfile
echo ...do something

testkill.bat

Taskkill /FI "WINDOWTITLE eq mybatchfile"

testkill.bat 将杀死 test.bat

但是你已经尝试过了。

已更新

不能从另一个批处理中停止批处理。但是您可以将批处理作为服务运行以设置进程名称,然后您可以定义启动和停止时应该做什么。该服务可以从批处理文件中终止。

看我的回答here

关于windows - 使用另一个批处理文件停止一个批处理文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27142926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com