最全Windows下通过bat脚本执行python程序(从编写到执行到拓展到更换图标全过程)_bat 脚本 python

echo Hello World!


仅显示:



Hello World!


**(3)call activate python37:**是激活我们自己的虚拟环境,也可以先cd 到虚拟环境所在的目录文件夹下再activate激活,也可直接activate+虚拟环境名激活。还有一点,bat文件中,激活虚拟环境时,使用到call,功能是执行某个文件,更多详情自行百度。功能类似于python +文件。如果不添加call,激活环境会失败。


**(4)cd /d D:\temporary\fireworks-main:**切换到程序目录,这里注意,bat文件内的路径和文件名称,最好不要出现中文,容易报错。


**(5)python fireworks.py:**是执行py脚本命令,也可以使用start python fireworks.py,加start与不加的区别是:


不加start则执行后py脚本是在当前cmd窗口执行,如下所示


![](https://img-blog.csdnimg.cn/direct/015b6cfaa6954f0a83d531007d7d712f.png)


加start则执行后py脚本会新开一个窗口来执行,如下所示


![](https://img-blog.csdnimg.cn/direct/b60c59cfbb184c6882931fe0ee9bec0b.png)


**(6)pause:**bat文件中的"pause",如果不添加,执行bat文件后,屏幕就会闪一闪,很快就关闭CMD窗口。如果添加“pause”执行bat文件后,CMD窗口会保持,并提示“请按任意键继续...”,按下任意键后才关闭窗口。可以先加上这句,执行起来,看有没有报错,没有的话可以再去掉这句,如果有错误,加上这句方便在窗口查看错误是啥


3.最后将写好的.txt文本内容保存,修改txt格式为.bat格式


![](https://img-blog.csdnimg.cn/direct/7ceb12f765624e969cd6a1a0f38a56c1.png)


4.双击运行就OK啦!


![](https://img-blog.csdnimg.cn/direct/242fd4d5bc014320906f3d87869fe2a5.png)


#### 三、拓展


##### 3.1 多个py并行执行


上面步骤只是简单介绍一个小demo只有一个main主程序执行示例,但往往对于一个大型项目,我们需要同时执行多个py脚本程序,也就是开启多个进程,让他们并行执行互不干扰,那就可以像下面这样做



rem 1注释:关闭回显
@echo off
rem 2注释:激活我们的虚拟环境
call activate python37
rem 3注释:切换路径到要执行的脚本文件目录位置
cd /d D:\temporary\fireworks-main
rem 4注释:执行python文件
start python fireworks.py
rem 5注释:切换路径到要另一个要执行的脚本文件目录位置
cd /d D:\temporary\Camera-calibration-image-fusion-main
rem 6注释:执行另一个python文件
start python main.py
rem 7注释:执行文件后,暂停
pause


效果如下:


![](https://img-blog.csdnimg.cn/direct/ce09c366104e475697d313e9888e906f.png)



> 
> 注意:
> 
> 
> 当多个程序时,如果你不使用start python xx.py而是直接python xx.py,会出现一个问题,就是只有在当你将第一个程序窗口关闭之后,第二个程序窗口才会出来,没法同时展现出来,即此时他们就不是并行执行的关系了。而是一个执行结束之后,另一个才会执行起来
> 
> 
> 


**加start后台进程**


![](https://img-blog.csdnimg.cn/direct/67bab9e9321a4d769a31b0f70f946eb5.png)


**不加start后台进程**


![](https://img-blog.csdnimg.cn/direct/f34833744c5a43f59a9554839155d5b6.png)


关闭fireworks界面后,另一个才会出现


![](https://img-blog.csdnimg.cn/direct/156d5769b3304439b0c82a633cd17ca8.png)



> 
> **再多说几句:**
> 
> 
> 


(1)python [xx.py]( ) & python [xx1.py]( ) & python [xx2.py]( ) # 前一个运行结束后,后面一个才会执行:


**如果你都多个程序要执行,且这些程序在同一个文件夹,可以这样写**



rem 3注释:切换路径到要执行的脚本文件目录位置
cd /d D:\temporary\fireworks-main
rem 4注释:执行python文件
python fireworks.py & python fireworks-old.py


效果和上面说的两个程序不加start一个效果


(2)python [xx.py]( ) && python [xx1.py]( ) && python [xx2.py]( ) # 前一个运行成功后,才运行后面一个:


**这样写效果和(1)一样**



rem 3注释:切换路径到要执行的脚本文件目录位置
cd /d D:\temporary\fireworks-main
rem 4注释:执行python文件
python fireworks.py && python fireworks-old.py


(3)python [xx.py]( ) || python [xx1.py]( ) || python [xx2.py]( ) # 前一个运行失败后,才运行后面一个:


这里我把第一个程序fireworks.py少些一个s变成firework.py使其因文件名错误而执行失败,发现后面的程序在这个程序执行失败后正常执行



rem 3注释:切换路径到要执行的脚本文件目录位置
cd /d D:\temporary\fireworks-main
rem 4注释:执行python文件
python firework.py || python fireworks-old.py


![](https://img-blog.csdnimg.cn/direct/a67ced5f2d574397b8d6208a2359bb82.png)


(4)还有一种写法python [xx.py]( ) ; python [xx1.py]( ) ; python [xx2.py]( ) #这种写法是不行的,只会执行第一个脚本


##### 3.2 最小化黑窗口


我们前面也看到了,如果我们同时并行执行多个py脚本程序,需要用到start而且每一个脚本都会开启一个窗口,这样我们一执行就蹦出来好多窗口,感觉怪怪的,尤其给别人演示的时候,那么我们就可以写命令**start /min python xx.py**,让这些程序在打开执行的时候就窗口直接最小化不蹦出来就可以了



start /min python fireworks.py
start /min python main.py


![](https://img-blog.csdnimg.cn/direct/2ae4fd1f70d94c19b00bc73fac460735.png)


这样就只会有一个原始的cmd窗口蹦出来,如果这个窗口也不想要显示,直接将pause这行命令去掉即可。


##### 3.3 跳转网页


我们的命令可以让我们直接打开某个网页,命令如下:



rem 1注释:关闭回显
@echo off
rem 2注释:激活我们的虚拟环境
call activate python37
rem 3注释:切换路径到要执行的脚本文件目录位置
cd /d D:\temporary\fireworks-main
rem 4注释:执行python文件
start /min python fireworks.py
rem 5注释:切换路径到要另一个要执行的脚本文件目录位置
cd /d D:\temporary\Camera-calibration-image-fusion-main
rem 6注释:执行另一个python文件
start /min python main.py
rem 7注释:打开百度网页
start https://www.baidu.com/



> 
> 其中这行start https://www.baidu.com/代码即可跳转到百度网页
> 
> 
> 


##### 3.4 更换bat图标


我们还可以给我们的bat文件添加图标,但是图标格式只能是ico格式的


1、找到要修改图标的的BAT文件


![](https://img-blog.csdnimg.cn/direct/196f78f7bb50450a822badc7695a508b.png)


2、将该BAT文件移动到任意盘符中(不建议放置在C盘)


![](https://img-blog.csdnimg.cn/direct/fce60fcc93fe4e5d89a0c8e194e865fa.png)


3、在该BAT文件上右击,选择“发送到”-“桌面快捷方式”


![](https://img-blog.csdnimg.cn/direct/558d3db37f3c426bbb151c06f1a6950f.png)


4、在桌面上找到BAT文件的快捷方式


![](https://img-blog.csdnimg.cn/direct/cc10d6e38e0c42259182d803d4f203a3.png)


5、在该快捷方式上右击,选择“属性”
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/1e767b3725d9cff518d7ac5523c627af.png)

 

![img](https://img-blog.csdnimg.cn/img_convert/ab9697158685e98b400a4c5294248a8f.png)

![img](https://img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)

![img](https://img-blog.csdnimg.cn/img_convert/252731a671c1fb70aad5355a2c5eeff0.png)

![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)**

<img src="https://img-community.csdnimg.cn/images/fd6ebf0d450a4dbea7428752dc7ffd34.jpg" alt="img" style="zoom:50%;" />
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值