找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26367|回复: 7

[文本处理] [已解决]怎样用批处理命令结束非当前运行bat窗口?

[复制链接]
发表于 2015-5-16 23:47:28 | 显示全部楼层 |阅读模式
情况如下:我运行1.bat 时,中间会调用到2.bat 和3.bat
我能不能在1.bat 里写入选择命令,
结束掉非1.bat 窗口以外的所有bat窗口。
本来是想写taskkill /f /im cmd.exe的
但是这样会同时结束正在运行的主1.bat窗口。。。
因为每次运行批处理,进程的PID都是变化的。所以加入PID也不管用。
求高手指教,谢了。。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-5-17 08:27:28 | 显示全部楼层
如果你能获取cmd.exe的PID,有一个思路。你首先获取所有cmd.exe进程的PID,然后启动2.BAT,再次获取所有cmd.exe的PID,两个集合相减,此时就很容易得到新启动的BAT的PID,3.BAT也相应处理。有了PID,结束进程就很容易了。在POWERSHELL中比较容易实现,在BAT中,可能相对难 一点。
发表于 2015-5-17 09:37:05 | 显示全部楼层
回复 2# yiwuyun
筛选的任务倒不难...就是wmic导出的数据是什么鬼编码,连自己都不认得...还是无解的样子
  1. @echo off
  2. for /f "skip=2 tokens=3 delims=," %%i in ('wmic process where name^="cmd.exe" get commandline^,ProcessID /format:csv^|findstr /vi "%~nx0"') do echo %%i
  3. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-5-17 11:19:11 | 显示全部楼层
  1. @echo off
  2. :1
  3. @del 123.txt /q
  4. for /f "skip=2 tokens=3 delims=," %%i in ('wmic process where name^="cmd.exe" get commandline^,ProcessID /format:csv^|findstr /vi "%~nx0"') do echo %%i >>123.txt
  5. @echo off
  6. for /f "delims=" %%i in (%cd%\123.txt)do set n=%%i
  7. echo %n%
  8. taskkill /pid %n%
  9. if exist %cd%\123.txt goto 1
  10. pause
复制代码
鉴于大家的意见,我写了这代码。执行起来还可以
 楼主| 发表于 2015-5-17 11:24:36 | 显示全部楼层
谢谢2楼和3楼意见,我在执行a.bat 的时候中途要调用b.bat 我奇怪的是不管在b中如何写入退出代码都不能结束b窗口,所以才想到结束非主要CMD进程。。。
4楼的代码,我植入调用b.bat 后面,刚好可以用上。。完美解决问题。
谢大家了
 楼主| 发表于 2015-5-17 15:07:59 | 显示全部楼层
回复 2# yiwuyun
谢了。我想到的思路是
查看所有非本身CMD.exe 进程的PID并生成文件123.txt
然后用 taskkill命令 结束123.txt 里记录的PID
若存在123.txt这个文件则循环杀进程
否则进入下一跳命令。。
完成了呢
 楼主| 发表于 2015-5-17 15:10:04 | 显示全部楼层
回复 3# bailong360


    谢了,你的代码起到了决定性重用
发表于 2015-5-17 22:31:22 | 显示全部楼层
回复 7# 631206885

存到文件里再读取竟然就没事了,好家伙!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 05:17 , Processed in 0.018977 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表