码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • windows bat批处理文件,实现某个软件的重启


    bat批处理实现软件重启功能

      • windows环境
      • 需要明确的概念
        • 按照启动文件xxx.exe去定位某个程序的Pid
        • 根据pid杀死某个进程
        • 根据exe文件启动某个软件
      • bat示例,杀死软件进程并重启

    windows环境

    我这里用的是win10企业版,在基础功能上和家庭版区别不大

    需要明确的概念

    按照启动文件xxx.exe去定位某个程序的Pid

    软件的icon名称和实际运行进程中的imagename可能是不一样的,我这里来举个例子,可以看到我的右下角这个软件叫Cisco AnyConnect
    在这里插入图片描述

    但是在任务管理器中,找不到这个名称的软件,又换成了另一个名称,前缀一样,后缀不一样。所以我这里统一找的办法就是,右键这个软件,点开它的properties
    在这里插入图片描述
    在这里插入图片描述

    再点开details查看最下面的Original filename字段值,可以看到叫vpnui.exe
    在这里插入图片描述

    我们拿着这个名称到cmd中去执行命令

    tasklist /fi "imagename eq vpnui.exe
    
    • 1

    可以看到能找到以下的进程pid
    在这里插入图片描述

    根据pid杀死某个进程

    这里的18880就是对应刚刚查出来的PID

    taskkill /pid 18880  -t  -f
    
    • 1

    根据exe文件启动某个软件

    start命令后面的就是你的exe启动文件路径

    start C:\Users\RAY\DiskD\WorkSoftwares\cisco connect\vpnui.exe
    
    • 1

    bat示例,杀死软件进程并重启

    这里我用px这个软件做为演示,px这个软件启动后会有3个进程,所以我这里用了数组保存这三个进程的pid,而当我kill掉其中一个pid的时候,其余进程也会随之被kill掉,所以我这里只需要kill掉obj[0]进程就可以了,大家可以适当根据自己的需求做调整

    restartpx.bat

    @echo off
    setlocal enabledelayedexpansion
    set /a objIndex=0
    set obj[0]=0
    set obj[1]=0
    set obj[2]=0
    
    for /f "skip=3 tokens=2 delims= " %%a in ('tasklist /fi "imagename eq px.exe"') do (
    	echo echo ------!objIndex!------
    	set obj[!objIndex!]=%%a
    	set /a objIndex+=1
    )
    
    
    if (%obj[0]%)==(0) (
    	echo px progress isn't running.
    	start C:\Users\RAY\DiskD\WorkSoftwares\px-v0.8.3-windows\px.exe
    )else (
    	echo px is running.
    	echo kill px progress......;
    	taskkill /pid %obj[0]%  -t  -f
    
    	timeout /t 1
    	echo px has been killed.
    	echo start px ......
    	timeout /t 2
    	start C:\Users\RAY\DiskD\WorkSoftwares\px-v0.8.3-windows\px.exe
    )
    
    echo px has been restarted.
    
    timeout /t 3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
  • 相关阅读:
    React之一些函数或者方法的扩展
    GO语言-栈的应用-表达式求值
    Python 提取PDF文本和图片
    sqlserver不使用group by进行分组合并
    Python 人工智能大全之3行代码创建一个 AI 论文机器人
    三维模型OBJ格式轻量化的数据压缩与性能平衡分析
    docker命令
    输入输出错误重定向
    pdf编辑软件哪个好用?5款PDF编辑器分享
    Springboot整合Websocket(推送消息通知)
  • 原文地址:https://blog.csdn.net/weixin_44388689/article/details/128092054
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号