zoukankan      html  css  js  c++  java
  • bat脚本批量启动程序

    有些时候我们开发需要固定启动某些程序,每次电脑开机都需要一次一次的点

    现在只需要写一个bat脚本就可以实现批量一键启动多个应用,把一下内容存储到一个bat文件就好,名字随意

    :::: @echo off 表示在此语句后所有运行的命令都不显示命令行本身 @echo on
    @echo off
    REM 声明采用UTF-8编码 REM命令是注释命令
    chcp 65001

    SET Obj_Length=5
    rem 启动谷歌服务参数
    SET Obj[0].path="C:UsersadminAppDataLocalGoogleChromeApplication"
    SET Obj[0].serverPath="C:UsersadminAppDataLocalGoogleChromeApplicationchrome"
    SET Obj[0].serverName="chrome"
    SET Obj[0].serverTitle="启动chrome"
    rem 启动Notepad服务参数
    SET Obj[1].path="C:Program FilesNotepad++"
    SET Obj[1].serverPath="C:Program FilesNotepad++ otepad++"
    SET Obj[1].serverName="notepad++"
    SET Obj[1].serverTitle="启动notepad++"
    rem 启动Navicat服务参数
    SET Obj[2].path="C:softNavicat Premium 12"
    SET Obj[2].serverPath="C:softNavicat Premium 12 avicat"
    SET Obj[2].serverName="navicat"
    SET Obj[2].serverTitle="启动navicat"
    rem 启动YoudaoNote服务参数
    SET Obj[3].path="C:Program Files (x86)YoudaoYoudaoNote"
    SET Obj[3].serverPath="C:Program Files (x86)YoudaoYoudaoNote"
    SET Obj[3].serverName="YoudaoNote"
    SET Obj[3].serverTitle="启动YoudaoNote"
    rem 启动IDEA服务参数
    SET Obj[4].path="C:Program FilesJetBrainsIntelliJ IDEA 2020.2.3in"
    SET Obj[4].serverPath="C:Program FilesJetBrainsIntelliJ IDEA 2020.2.3in"
    SET Obj[4].serverName="idea64"
    SET Obj[4].serverTitle="启动idea64"
    rem 延时3秒执行
    SET delay_time=3
    SET Obj_Index=0
    set out_server=0

    rem 循环便利执行
    :LoopStart
    IF %Obj_Index% EQU %Obj_Length% GOTO :EOF

    SET Obj_Current.path=""
    SET Obj_Current.serverPath=""
    SET Obj_Current.serverName=""
    SET Obj_Current.serverTitle=""
    rem 赋值对象里面的参数到 Obj_Current 内
    FOR /F "usebackq delims==. tokens=1-3" %%I IN (`SET Obj[%Obj_Index%]`) DO (
    SET Obj_Current.%%J=%%K
    )
    ECHO path = %Obj_Current.path%
    ECHO serverPath = %Obj_Current.serverPath%
    ECHO serverName = %Obj_Current.serverName%
    ECHO serverTitle = %Obj_Current.serverTitle%
    rem 延时函数
    timeout /t %delay_time%
    set /a out_server=0
    echo 延时3秒执行
    echo 开始---启动%Obj_Current.serverName%服务
    tasklist|find /i %Obj_Current.serverName% && set /a out_server=1
    echo out_server = %out_server%
    if %out_server% == 1 (
    echo %Obj_Current.serverName% 服务已启动成功,无需重新启动
    )^
    else if exist %Obj_Current.serverPath% (
    cd %Obj_Current.path%
    start %Obj_Current.serverName%
    echo 启动 %Obj_Current.serverName% 成功
    )^
    else (
    echo 该文件夹下不存在 %Obj_Current.serverName%
    )
    SET /A Obj_Index=%Obj_Index% + 1
    GOTO LoopStart
    REM pause 表示不关闭窗口,如果没有pause 执行完代码就关闭cmd窗口
    pause

      表示服务数量,如果添加启动程序,这个要记得添加长度

    Obj_Length
    表示程序在电脑中的安装路径
    SET Obj[0].path="C:UsersadminAppDataLocalGoogleChromeApplication"

      表示程序在电脑中的安装路径

    SET Obj[0].serverPath="C:UsersadminAppDataLocalGoogleChromeApplicationchrome"

      serverName表示电脑软件的exe名称

    SET Obj[0].serverName="chrome"

      表示启动程序时候的标题,非必填

    SET Obj[0].serverTitle="启动chrome"
    这些都要是更具电脑中实际软件安装位置来定义的,视情况而定
    是不是很方便!!!!!!!!!!!!!!!!!!
    此脚本仅供参考,有什么意见或者建议欢迎提问.

    因为每个软件的名称不一样,会有很多莫名其妙的事情发生,最好每个软件都单独写一个启动脚本,所以可以这么写
    :::: @echo off  表示在此语句后所有运行的命令都不显示命令行本身 @echo on
    @echo off
    REM 声明采用UTF-8编码  REM命令是注释命令
    chcp 65001
    
    echo 开始---启动谷歌服务
    rem 判断服务是否已经启动
    set out_server=0
    tasklist|find /i "chrome.exe" && set /a out_server=1
    echo out_server = %out_server%
    if %out_server% == 1 (
        echo chrome 服务已启动成功,无需重新启动
    )^
    else if exist C:UsersadminAppDataLocalGoogleChromeApplicationchrome.exe (
        start C:UsersadminAppDataLocalGoogleChromeApplicationchrome.exe http://www.baidu.com
        echo 启动 chrome 成功
    )^
    else (
        echo 该文件夹下不存在 chrome
    )
    set /a out_server=0
    
    timeout /t  3
    echo 延时3秒执行
    echo 开始---启动notepad++ 服务
    tasklist|find /i "notepad++.exe" && set /a out_server=1
    echo out_server = %out_server%
    if %out_server% == 1 (
        echo notepad++ 服务已启动成功,无需重新启动
    )^
    else if exist "C:Program FilesNotepad++
    otepad++.exe" (
        cd C:Program FilesNotepad++
        start notepad++
        echo 启动 notepad 成功
    )^
    else (
        echo 该文件夹下不存在 notepad
    )
    set /a out_server=0
    
    
    timeout /t  3
    echo 延时3秒执行
    echo 开始---启动Navicat 服务
    tasklist|find /i "navicat" && set /a out_server=1
    echo out_server = %out_server%
    if %out_server% == 1 (
        echo navicat 服务已启动成功,无需重新启动
    )^
    else if exist "C:softNavicat Premium 12
    avicat.exe" (
        cd C:softNavicat Premium 12
        start navicat
        echo 启动 navicat 成功
    )^
    else (
        echo 该文件夹下不存在 navicat
    )
    set /a out_server=0
    
    timeout /t  3
    echo 延时3秒执行
    echo 开始---启动 YoudaoNote 有道云笔记 服务
    tasklist|find /i  "YoudaoNote" && set /a out_server=1
    echo out_server=%out_server%
    pause
    if %out_server% == 1 (
        echo YoudaoNote 服务已启动成功,无需重新启动
    )^
    else if exist C:Program Files (x86)YoudaoYoudaoNote (
        cd C:Program Files (x86)YoudaoYoudaoNote
        start YoudaoNote
        echo 启动 YoudaoNote 有道云笔记 成功
    )^
    else (
        echo 该文件夹下不存在 YoudaoNote 有道云笔记
    )
    set /a out_server=0
    
    timeout /t  3
    echo 延时3秒执行
    echo 开始---启动IntelliJ 服务
    tasklist|find /i "idea64" && set /a out_server=1
    echo out_server = %out_server%
    if %out_server% == 1 (
        echo idea64 服务已启动成功,无需重新启动
    )^
    else if exist C:Program FilesJetBrainsIntelliJ IDEA 2020.2.3in (
        cd C:Program FilesJetBrainsIntelliJ IDEA 2020.2.3in
        start idea64
        echo 启动 idea 成功
    )^
    else (
        echo 该文件夹下不存在 idea64
    )
    REM pause 表示不关闭窗口,如果没有pause 执行完代码就关闭cmd窗口
    echo 所有启动成功
    ::::exit
    pause
    
     





  • 相关阅读:
    Android 事件
    Android Menu
    Android ActionBar
    Android 布局
    so打包进APK
    android如何与服务器交互?
    如何检测单个APP的耗电量
    求大神给解决下,向已有的xml文件写入数据,但不覆盖文件存在的内容
    关于findViewById返回空指针的错误
    android客户端向服务器发送图片和文字,类似于发微博。能用json格式发送吗?
  • 原文地址:https://www.cnblogs.com/procedureMonkey/p/14216650.html
Copyright © 2011-2022 走看看