如何在 windows 下编写 bat 脚本,使我能够直接双击打开它就激活 venv 环境并执行 Python 脚本。

2018 年 5 月 23 日
 LemonFirst
windows 的 bat 脚本一窍不通。
5843 次点击
所在节点    Python
20 条回复
cdwyd
2018 年 5 月 23 日
打包成单文件 exe
gjquoiai
2018 年 5 月 23 日
我写的辣鸡 powershell:
if (Test-Path ".\venv\Scripts\activate") {
.\venv\Scripts\activate.ps1
}
_(:з)∠)_
kY8mbXW833Lu28xn
2018 年 5 月 23 日
这算伸手贴吗?麻烦楼下告知
wenzhoou
2018 年 5 月 23 日
不晓得。标题太长不看
LemonFirst
2018 年 5 月 23 日
@1024MB 实在是连搜索都不知道怎么搜索
LemonFirst
2018 年 5 月 23 日
@gjquoiai 直接这样就可以吗? 我本来想测试一下写了
...\venv\Scripts\activate.bat
pip list
pause
然后直接双击
结果 pause 都没有成功窗口就关掉了。
虽然知道可以再 cmd 里面执行,不过没有这样操作就放弃了
LemonFirst
2018 年 5 月 23 日
@cdwyd 没想到这个方案,来试一下。
UnknownR
2018 年 5 月 23 日
可以写 powershell 脚本.ps1 ,能导入模块,基于.net ,接口丰富
shijingshijing
2018 年 5 月 23 日
把 python 脚本拖到 开始菜单->程序->启动

试试看

不行的话,打开记事本,python c:\user\xxxxxx (你放 python 脚本的路径)xxxxx\myPyScript.py ,另存为 xxx.bat ,然后拖到启动里面去。
LemonFirst
2018 年 5 月 23 日
@shijingshijing 这是什么操作?这不是开机启动吗?看来我的描述很有问题啊没把问题说清楚。
LemonFirst
2018 年 5 月 23 日
@UnknownR 谢谢,看看能不能找到相关的信息测试一下,至少在 powershell 下执行 activite 不会直接给我开一个新窗口,可能比较容易点。
LemonFirst
2018 年 5 月 23 日
用 powershell 一下子就搞定了。。。可以了溜了溜了。
arthasgxy
2018 年 5 月 23 日
是要,给那种对编程一窍不通的同事,一个一键运行 python 的方案么?
bear330
2018 年 5 月 23 日
@ LemonFirst

問題出在你的第一行
...\venv\Scripts\activate.bat
這是另一個 bat 檔, 所以要加上 call
call ...\venv\Scripts\activate.bat
這樣應該就解決了
alvin666
2018 年 5 月 24 日
我直接就是 pythonw /aaa.py ,双击运行,还可以加 input,也写过用 vbs 调用,好处是没有任何图形界面,不像 cmd 还要闪一下
geelaw
2018 年 5 月 24 日
我一般是写一个 PowerShell 脚本,然后写一个 batch 启动 PowerShell 脚本(这样可以保持 AllSigned 的执行策略)
geelaw
2018 年 5 月 24 日
@LemonFirst #6 你需要 CALL 内部命令,比如

CALL path/to/another/batch.bat

否则控制权永远不会返回当前 batch
LemonFirst
2018 年 5 月 24 日
@arthasgxy # 13 不是。自己想偷懒而已。。。
LemonFirst
2018 年 5 月 24 日
@bear330 #14 虽然用 powershell 解决了,但是还是感谢解答。 这样可以以此去了解 bat 的流程,增长见识,不然本来都不知道从何下手。感谢
LemonFirst
2018 年 5 月 24 日
@geelaw #17 感谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/457265

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX