如何在.cmd/.bat批处理中动态获取文件名运行Python zip对比脚本
需求实现答复
该需求完全可以实现,无需修改原有Python脚本,仅需编写少量批处理代码即可完成自动调用。
操作步骤
- 在存放
differ.py、压缩包的目录下新建文本文档,修改后缀为.bat(例如命名为一键对比ZIP.bat) - 右键点击该bat文件,选择「编辑」,粘贴以下代码后保存:
@echo off setlocal enabledelayedexpansion chcp 65001 >nul :: 切换到批处理文件所在目录 cd /d "%~dp0" set count=0 :: 按名称升序遍历zip文件取前两个 for /f "delims=" %%f in ('dir /b /o:n *.zip 2^>nul') do ( set /a count+=1 if !count! equ 1 set "zip1=%%f" if !count! equ 2 set "zip2=%%f" if !count! geq 3 goto :run_script ) :run_script :: 执行对比命令 python3 differ.py "!zip1!" "!zip2!" pause endlocal
- 直接双击该bat文件即可自动完成对比操作。
可选调整项
- 若你本地Python启动命令为
python而非python3,将代码中python3替换为python即可 - 若不需要执行后保留命令窗口查看输出,删除代码中的
pause行即可 - 代码默认按文件名升序排序获取前两个ZIP文件,完全适配时间戳命名规则,无需额外调整
内容的提问来源于stack exchange,提问作者Jonathan Lovegrove
相关产品推荐
相关产品推荐

