python 自动生成安装exe成服务的bat文件

最近在写代码时遇见个问题,想把exe添加到服务里面,又牵扯到部署问题,安装时总不能每次都手动添加吧,想到了批处理文件,但是又嫌弃每次都要写,所以直接用了自动生成


# 这个文件主要用于扫描本文件的目录,根据文件夹里面的exe文件,去自动生成创建服务的bat文件


import os,sys


# 获取当前路径
file_path = os.path.dirname(os.path.abspath(__file__))
# 扫描当前路径下面的所有文件
files = os.listdir(file_path)
# 获取所有.exe结尾的程序,并获取名称
need_files = []
for i in files:
    if i.endswith('.exe'):
        need_files.append(i)
print(need_files)
def create_bat(exe_name):
    exe = exe_name.split('.')[0]
    dat_path = file_path+os.sep+exe+'_service.bat'
    if os.path.isfile(dat_path):
        os.remove(dat_path)
    b = open(dat_path,'w',encoding='ANSI')
    TempList = '''@echo off
    echo OFF
    NET SESSION >nul 2>&1
    IF %ERRORLEVEL% EQU 0 (
        ECHO Administrator PRIVILEGES Detected! 
        ECHO Get Administrator PRIVILEGES Successed!
    ) ELSE (
    echo ######## ########  ########   #######  ########  
    echo ##       ##     ## ##     ## ##     ## ##     ## 
    echo ##       ##     ## ##     ## ##     ## ##     ## 
    echo ######   ########  ########  ##     ## ########  
    echo ##       ##   ##   ##   ##   ##     ## ##   ##   
    echo ##       ##    ##  ##    ##  ##     ## ##    ##  
    echo ######## ##     ## ##     ##  #######  ##     ## 
    echo.
    echo.
    echo ####### ERROR: ADMINISTRATOR PRIVILEGES REQUIRED #########
    echo ####### ERROR: 需要以管理员权限运行 #########
    echo This script must be run as administrator to work properly!  
    echo If you're seeing this after clicking on a start menu icon, then right click on the shortcut and select "Run As Administrator".
    echo 这个批处理脚本需要管理员权限才能正常运行!  
    echo 请右键该菜单或批处理文件,选择"以管理员身份运行".
    echo ##########################################################
    echo.
    PAUSE
    EXIT /B 1
    )
    echo Bin directory: %~dp0
    cd /D "%~dp0"
    echo curdir: %cd%
    echo.
    echo ----------         stop           --------
    taskkill /f /t /im {}
    IF ERRORLEVEL 0 echo 服务停止成功
    echo.
    cd  {}

    echo.
    echo ----------         install        --------
    .\{}  install
    IF ERRORLEVEL 0 echo 安装成功

    echo.

    echo ----------  startup auto install  --------
    .\{}  --startup auto install
    IF ERRORLEVEL 0 echo 服务设置开机自启成功

    echo.
    echo ----------         start          --------
    .\{}  start
    IF ERRORLEVEL 0 echo 服务启动成功

    echo.
    echo 安装成功,打开服务查看
    pause
    '''.format(exe_name,file_path,exe_name,exe_name,exe_name,)

    b.write(TempList)
    b.close()
    # subprocess.Popen("upgrade.bat") #不显示cmd窗口
    # os.system('start upgrade.bat')  #显示cmd窗口

# 根据程序名称自动生成对应的bat文件
for i in need_files:
    print(i)
    create_bat(i)

这里就可以打包了,打包后把exe放置到需要生成批处理的exe同一级目录,点击运行,就会生成对应exe的批处理问题

该批处理文件主要解决的是服务的自动创建、开机自启、创建后启动的问题。需要配合另外一个自动创建服务的程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值