首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除从另一个cmd箱中粘滞的批处理文件

删除从另一个cmd箱中粘滞的批处理文件
EN

Stack Overflow用户
提问于 2020-01-22 03:48:04
回答 1查看 317关注 0票数 1

希望我在正确的地方,不确定在哪里张贴,这似乎是最有可能的

我使用cmd盒运行一个串行闪存程序来修复wifi板,它的工作方式是这样的。打开命令提示符并切换到工作目录,输入命令

代码语言:javascript
复制
sfh_DM36x.exe -nandflash -v -p "COM3" 

这会启动闪存程序,但是,由于它的工作方式,程序在第一次完成时只会使用bootme bootme循环,这是正常行为。

正常情况下,我只需点击CTRL+C并退出批处理文件。再次运行相同的命令,这一次刷新过程完成,您将返回到C:\提示符。

现在你有了这里的信息,这就是我想要实现的。

启动一个运行runflash.bat的批处理文件,杀死runflash.bat,然后再次运行runflash.bat。

到目前为止,我已经走到这里(start.bat)

代码语言:javascript
复制
start c:\users\jud\desktop\runflash.bat
timeout /t 5

这将运行新的CMD提示符并打开runflash.bat

然后我输入了5秒的超时时间(足够第一次尝试完成)

此时,我想终止当前打开的CMD提示符,然后再次执行runflash.bat

在这一点上我被难住了,任何试图杀死第二个CMD提示符的尝试都会杀死原始提示符,我已经查看了taskkill,但每次运行脚本时PID都会改变,以及在谷歌搜索过程中遇到的其他建议,大多数只是与手动终止批处理文件或在批处理文件完成时终止CMD提示符有关。

可以做到这一点吗?我们的想法是将文件作为一个一体化的解决方案传递给不熟悉CMD prompt工作方式的用户。

EN

回答 1

Stack Overflow用户

发布于 2020-01-22 21:00:28

为新流程提供一个惟一的标题(请参见start /? -第一个引用的参数设置为标题)。然后,Takskkill可以使用其标题来标识并关闭该进程:

代码语言:javascript
复制
start "JudRunFlash" "c:\users\jud\desktop\runflash.bat"
timeout /t 5 >nul
taskkill /fi "WindowTitle eq JudRunFlash"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59848210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档