使用Python自动化Git配置命令遇bat脚本语法错误求助
问题解决:自动化Git配置及Bat脚本报错处理
一、修复Bat脚本的语法错误
你当前Bat脚本里的-c参数使用错误,-c是让Python执行一段字符串代码,而非调用脚本文件。直接去掉-c,把脚本路径作为Python的参数即可:
@echo off "C:\Python27\python.exe" "D:\Tools\Scripts\GIT_login.py" pause
二、修正subprocess调用的问题
你的Python脚本存在两处问题:
echo命令执行问题:Windows下
echo是CMD的内置命令,不是独立可执行文件,直接用subprocess.call(["echo", "something"])无法正常运行,需要加上shell=True:subprocess.call("echo something", shell=True)或者用完整的CMD调用方式:
subprocess.call(["cmd", "/c", "echo", "something"])Git配置参数错误:给
user.name传参时,你额外加了转义引号\"myUser\",这会导致Git把带引号的字符串作为用户名保存。直接传递纯字符串即可,subprocess的列表参数会自动处理空格:import subprocess # 正确的echo调用 subprocess.call("echo something", shell=True) # 正确的Git用户名配置 subprocess.call(["git", "config", "--global", "user.name", "myUser"]) # 邮箱配置无需修改,可直接使用 subprocess.call(["git", "config", "--global", "user.email", "myMail@mail.com"])
内容的提问来源于stack exchange,提问作者noob234
相关产品推荐
相关产品推荐

