Windows下利用.bat文件批量执行python脚本

本文介绍如何使用bat文件批量执行Python脚本,包括设置环境、参数变量及调用方法。解决set命令中空格导致的错误,对比start与call命令的区别,确保脚本正确运行。
.bat文件下批量执行python脚本

bat文件包含以下内容:
1)注明echo

echo off 
C: 
cd C:\Users\Desktop

2)设置参数变量
3) 执行python文件

eg:
test.bat

echo off
C:
cd C:\Users\Desktop
set a=1
set b=2
call python python.py %a% %b%

python.py

import sys

def test(a,b):
    print(a+b)

if __name__ == "__main__":
    test(sys.argv[1],sys.argv[2])
    print(sys.argv[0])
    print(sys.argv[1])
    print(sys.argv[2])

输出结果:

12
python.py
1
2

sys.argv[0]为shell 本身。

遇到的bug

1.

set a = 1
set b = 2
设置变量的时候,等号左右加了空格,导致一直报错:
Traceback (most recent call last):
File “python.py”, line 7, in
test(sys.argv[1],sys.argv[2])
IndexError: list index out of range

2.

start命令, 启动另一个窗口运行指定的程序或命令。
call命令, 从批处理程序调用另一个程序, 直到被调用程序退出, 再继续原先的批处理程序。

使用start的时候没有返回结果,调用python脚本用call。

参考资料:
http://www.cnblogs.com/linglizeng/archive/2010/01/29/Bat-CMD-ChineseVerion.html

使用.bat脚本执行Windows命令是一种高效的自动化任务方式,具有简单易用、功能强大、无缝集成等特点,适合日常自动化操作,能大大提高工作效率[^2]。以下是不同场景下使用.bat脚本执行Windows命令的方法: ### 监控Java进程 可以编`monitor-net.bat`、`kill-process.bat`、`jar-start.bat`等脚本来监控Java进程。虽然未给出具体代码,但大体思路是在脚本中运用Windows命令完成对Java进程的监控、终止和启动操作[^1]。 ### 批量运行命令 .bat文件是Windows系统下自动化任务的有力工具,无需编程背景,易于编和修改,能自动化许多任务,在所有Windows系统上都能运行。只需在.bat文件里按顺序下要执行命令,保存后双击运行即可。例如,若要批量创建文件夹和文件,可编如下脚本: ```batch @echo off md folder1 md folder2 cd folder1 type nul > file1.txt cd.. cd folder2 type nul > file2.txt pause ``` ### 执行adb命令 下面是一个具体的脚本示例,用于连接设备、拉取文件等操作: ```batch @echo off set target='' setlocal enabledelayedexpansion for /f %%i in (iplist.txt) do ( set target=%%i MD !target! adb connect !target! adb pull /sdcard/crash !target! adb shell "su -c 'cp /data/data/com.yarward.zhaji/databases/person_db /sdcard'" adb shell "su -c 'cp /data/data/com.yarward.hesuanface/databases/person_db /sdcard'" adb pull /sdcard/person_db !target! adb pull /sdcard/YHCommon/log/runtime !target! ) pause ``` 此脚本会遍历`iplist.txt`文件中的IP地址,对每个IP地址对应的设备执行一系列adb命令,包括连接设备、拉取崩溃文件、复制数据库文件到SD卡并拉取等操作[^3]。 ### 配置npm 在Windows下使用PowerShell执行npm或者node报错时,可通过以下步骤解决: 1. 重新检查环境变量配置是否正确。 2. 若配置正确,需重新打开命令窗口。 3. 若CMD可以执行,但PowerShell不能执行,需要以管理员身份运行PowerShell,并执行以下命令: ```powershell // 获取当前的 Get-ExecutionPolicy // 设置为 RemoteSigned Set-ExecutionPolicy RemoteSigned ``` 这些命令可在.bat脚本中调用PowerShell来执行,从而完成对npm的配置[^4]。 ### 运行Python脚本程序 在.bat脚本中运行Python脚本程序,只需在脚本中使用`python`命令指定Python脚本的路径即可。例如: ```batch @echo off python C:\path\to\your\script.py pause ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值