11 windows cmd batch-file
我需要exe从a开始cmd开始(包装 exe,以便我可以提供一些命令行选项)。问题是,仅从 cmd 调用 exe 并不能使包装完全透明:如果 .exe 挂起,杀死 cmd 不会杀死 exe。我也需要它来杀死exe。我可以在普通 Windows(从 XP 开始)中执行此操作,而不添加任何依赖项吗?
在 Bash 中,您可以exec使用提供的命令替换 shell 进程。这对于编写包装器脚本非常方便,使包装过程完全透明。我知道 Windows 缺乏execve()实现这一点,但我只对“父母杀死孩子”部分感兴趣。
澄清:我不是在寻找杀死 exe 的方法,而是寻找包装(启动)exe 的方法,以便使用标准方法(例如 Ctrl+C 或从任务管理器)杀死它。例如,我可以创建一个lnk文件(Windows 快捷方式)并获得此行为,但我想从脚本中执行此操作(例如,lnks 仅适用于绝对路径,我无法部署它)。
谢谢。
Taskkill可用于匹配某些条件。通过输入,Taskkill/?您可以获得手册,并可以阅读如何使用常见属性进行过滤。我假设您所有的孩子的名字都有一个共同的部分。您可以使用 taskkill 使用通配符对名称进行数学计算,并关闭与该名称匹配的所有子项。
编辑(取自评论部分):正如 IInspectable 指出的那样,您可以使用该/T标志杀死所有子进程。
从批处理开始编辑,您可以使用START(参考此处)来启动与批处理并行的exe,并在批处理中中止。
编辑我编写并测试了这个迷你示例:
@echo off
echo starting %1
start %1
echo Any key to kill execution
pause >> NUL
taskkill /IM %1 /t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5313 次 |
| 最近记录: |