Board logo

标题: [其他] 求助批处理获取指定进程的路径下它本身exe位置并杀掉该进程,然后再运行该exe [打印本页]

作者: 759503140    时间: 2024-8-11 23:06     标题: 求助批处理获取指定进程的路径下它本身exe位置并杀掉该进程,然后再运行该exe

获取指定进程的路径下它本身exe位置并杀掉该进程,然后再执行运行该exe,比如QQ.exe   通过进程取得路径后然后杀掉QQ.exe进程 再运行QQ.exe程序(重启QQ.exe的作用)

大佬帮帮忙,
作者: 77七    时间: 2024-8-12 10:17

  1. taskkill /im qq.exe
  2. start "" "d:\qq\qq.exe"
复制代码

作者: 759503140    时间: 2024-8-12 11:37

回复 2# 77七


你这个指定路径运行的,万一QQ 不是安装在D盘呢,
作者: 77七    时间: 2024-8-12 12:29

回复 3# 759503140


  
  1. rem http://bbs.bathome.net/thread-4193-1-1.html
  2. for /f "tokens=2 delims==" %%a in ('wmic process where "name='qq.exe'" get executablepath /value') do (
  3.     set FilePath=%%a
  4. )
  5. taskkill /im qq.exe
  6. start "" "%FilePath%"
复制代码

作者: aloha20200628    时间: 2024-8-12 13:15

本帖最后由 aloha20200628 于 2024-8-12 13:20 编辑

回复 1# 759503140

先从当前进程列表中查找 qq.exe 进程,成功后再用 wimc.exe 匹配其全路径...
  1. @echo off &for /f "tokens=2 delims=: " %%p in (
  2.       'tasklist /v /fi "imagename eq qq.exe" /fo list^|find /i "pid: " '
  3. ) do for /f "delims=" %%F in (
  4.       'wmic process where processid^=%%p get executablepath^|find ":\" '
  5. ) do (taskkill /im "qq.exe" /f >nul && "%%F")
  6. exit/b
复制代码

作者: 759503140    时间: 2024-8-12 16:56

回复 4# 77七

谢谢,提供的这个命令可用,解决了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2