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

[系统相关] 【已解决】批处理对多个同名不同版本的exe进程根据版本号有选择性的强制关闭

[复制链接]
发表于 2017-3-27 12:05:28 | 显示全部楼层 |阅读模式
本帖最后由 solan 于 2017-4-1 12:14 编辑

如题
批处理准对多个同名不同版本的exe进程根据版本号有选择性的强制关闭,比如abc.exe进程有多个不同版本同时运行,我想把大于2.1.0.0的所有同名进程强制关闭,
我搜索了本论坛的帖子,自己也没办法解决,只好求助老师,拜托拜托啦

评分

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

查看全部评分

 楼主| 发表于 2017-3-27 12:33:28 | 显示全部楼层
请老师们帮帮忙,这样的批处理怎么写啊
发表于 2017-3-27 12:52:33 | 显示全部楼层
  1. wmic process where "name='QQ.exe'" get * /value
复制代码
先看看这个命令的结果里面有没有你需要的版本号
 楼主| 发表于 2017-3-27 13:31:45 | 显示全部楼层
回复 3# ShowCode


    没有哦
发表于 2017-3-27 13:37:06 | 显示全部楼层
回复 4# solan


    请举例说明一下你的版本是在哪里看到的
 楼主| 发表于 2017-3-27 13:38:59 | 显示全部楼层
我在你的代码里面加个pause
在黑框里面没看到我的qq的版本号
 楼主| 发表于 2017-3-27 13:42:06 | 显示全部楼层
版本号在文件属性里面看到
发表于 2017-3-27 13:43:16 | 显示全部楼层
本帖最后由 Nsqs 于 2017-3-27 13:45 编辑
  1. @PowerShell -Command "ForEach ($1 in (Get-Process -Name "qq").Path){[System.Diagnostics.FileVersionInfo]::GetVersionInfo($1).FileVersion};[Console]::Readkey()"
复制代码
发表于 2017-3-27 13:47:35 | 显示全部楼层
通过进程获取exe实际路径,通过实际exe的属性获取版本
wmic process
wmic datafile
taskkill
 楼主| 发表于 2017-3-27 14:07:16 | 显示全部楼层
回复 9# pcl_test


    一语惊醒啊,我试试
 楼主| 发表于 2017-3-27 14:21:43 | 显示全部楼层
不行啊,我写不出来
  1. @echo off
  2. set w=wmic process where "name='lmgrd.exe'" get executablepath
  3. for /f "tokens=*" %%a in ('%w% 2^>nul ^| find ""') do set "ph=%%~dpa"
  4. wmic "%ph%lmgrd.exe"
  5. pause
复制代码
 楼主| 发表于 2017-3-27 14:22:10 | 显示全部楼层
请版主老大帮忙啊
发表于 2017-3-27 15:22:55 | 显示全部楼层
回复 12# solan
  1. @PowerShell -Command "$p=(Get-Process -Name "qq");ForEach ($i in $p){$i.path+' 的版本号是 '+[System.Diagnostics.FileVersionInfo]::GetVersionInfo($i.path).FileVersion;Stop-Process -id $i.id -Confirm};[Console]::Readkey()"
复制代码
会提示结束进程
 楼主| 发表于 2017-3-27 15:26:41 | 显示全部楼层
回复 13# Nsqs


    谢谢,我试试
 楼主| 发表于 2017-3-27 15:27:54 | 显示全部楼层
回复 13# Nsqs

C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe 的版本号是 8.3.18038.0

确认
是否确实要执行此操作?
正在目标“QQ (10476)”上执行操作“Stop-Process”。
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”):
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 17:43 , Processed in 0.013164 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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