bat 脚本,拖拽文件、文件夹自动上传 Github

每次更新代码时都要手动输入多条 Git 命令?这个批处理脚本(.bat)可以直接拖拽文件或文件夹到脚本上,自动完成 git addgit commitgit push 操作,大大简化 GitHub/Gitee 代码上传流程!支持自定义分支名和提交信息,默认使用当前日期作为 commit 备注,方便快捷。

适用场景

  • 频繁更新代码到 GitHub/Gitee
  • 自动化 Typora 笔记备份
  • 快速提交项目更改,减少手动操作

使用方法

  1. 将脚本保存为 .bat 文件(如 GitHubUpload.bat)。
  2. 拖拽文件或文件夹到脚本上运行。
  3. 输入分支名(默认 main)和提交信息(默认当前日期)。
  4. 脚本自动完成 Git 上传,无需手动输入命令!

交互时序图(Sequence Diagram)

用户脚本Git仓库拖拽文件/文件夹提示输入分支名和提交信息输入(或直接回车用默认值)git pull origin branch拉取最新代码git add .git commit -m "message"git push origin branch返回推送结果显示成功/失败信息用户脚本Git仓库
@echo off
:: ======================================================================
:: GitHub拖拽上传批处理脚本
:: 功能:通过拖拽文件或文件夹到本脚本上,自动将其上传到GitHub仓库
:: 使用方法:
::   1. 将本脚本保存为.bat文件
::   2. 将要上传的文件或文件夹拖拽到本脚本图标上
::   3. 按照提示输入分支名和提交信息
::   4. 脚本会自动完成Git上传流程
:: ======================================================================

:: 显示标题和分隔线
echo.
echo                           GitHub拖拽上传脚本
echo ======================================================================
echo.

:: 检查是否拖拽了文件或文件夹
if "%~1"=="" (
    echo 错误:请将文件或文件夹拖拽到本脚本上再运行
    pause
    exit /b
)

:: 获取被拖拽的路径
set "drag_path=%~1"
echo 检测到拖拽路径: %drag_path%
echo.

:: 提示用户输入分支名和提交信息
set /p branch=请输入你的分支名(默认为main,直接回车使用默认值): 
set /p commit_msg=请输入commit提交信息(默认为当前日期,直接回车使用默认值): 

:: 设置默认值
if "%branch%"=="" set branch=main
if "%commit_msg%"=="" (
    :: 获取当前日期作为默认提交信息
    set commit_msg=%date:~3,10%
)

:: 切换到被拖拽项目的目录
echo 正在切换到项目目录...
cd /d "%~dp1"
echo 当前工作目录: %cd%
echo.

:: 执行Git操作
echo 正在执行Git操作...
echo.

:: 1. 拉取最新代码
echo [1/4] 正在从远程仓库拉取最新代码...
git pull origin %branch%
if %errorlevel% neq 0 (
    echo 错误:拉取代码失败
    pause
    exit /b
)

:: 2. 添加所有更改
echo [2/4] 正在添加所有更改...
git add .
if %errorlevel% neq 0 (
    echo 错误:添加更改失败
    pause
    exit /b
)

:: 3. 提交更改
echo [3/4] 正在提交更改,提交信息: "%commit_msg%"...
git commit -m "%commit_msg%"
if %errorlevel% neq 0 (
    echo 错误:提交更改失败
    pause
    exit /b
)

:: 4. 推送更改
echo [4/4] 正在推送更改到远程仓库...
git push origin %branch%
if %errorlevel% neq 0 (
    echo 错误:推送更改失败
    pause
    exit /b
)

:: 显示完成信息
echo.
echo ======================================================================
echo                       GitHub上传成功完成!
echo 分支: %branch%
echo 提交信息: "%commit_msg%"
echo 上传路径: %drag_path%
echo ======================================================================
echo.

pause

脚本执行流程(Flowchart)

开始
拖拽文件/文件夹到脚本
输入分支名和提交信息
提示错误并退出
自动设置默认值
切换到项目目录
执行 git pull
执行 git add .
执行 git commit -m
执行 git push
是否成功?
显示成功信息
提示错误并退出
结束

脚本作用和解释

脚本功能

  1. 拖拽上传:支持将文件或文件夹直接拖拽到脚本图标上,自动识别路径
  2. 自动化Git流程:自动执行git pullgit addgit commitgit push全套操作
  3. 用户友好提示:提供清晰的步骤提示和错误处理
  4. 默认值设置:分支名默认为"main",提交信息默认为当前日期
  5. 错误处理:每个Git操作都有错误检查,失败时会停止并提示

主要组成部分解释

  1. 拖拽处理

    • %~1获取第一个参数(拖拽的文件/文件夹路径)
    • %~dp1获取拖拽项目的目录路径
  2. 用户输入

    • set /p命令获取用户输入的分支名和提交信息
    • 为空时使用默认值
  3. Git操作流程

    • 先拉取最新代码(git pull)避免冲突
    • 添加所有更改(git add .)
    • 提交更改(git commit -m)
    • 推送到远程仓库(git push)
  4. 日期处理

    • %date:~3,10%从系统日期中提取"YYYY/MM/DD"格式的日期
  5. 错误处理

    • 每个Git命令后检查%errorlevel%,非零时表示出错
    • 出错时显示错误信息并暂停,然后退出

使用注意事项

  1. 使用前请确保已安装Git并配置好GitHub账户
  2. 拖拽的文件夹应该是一个Git仓库(包含.git目录)
  3. 如果仓库需要认证,请提前配置好SSH或HTTPS认证方式
  4. 默认分支为main,可根据需要修改

这个脚本大大简化了Git上传流程,特别适合需要频繁更新代码到GitHub的用户,避免了重复输入多条Git命令的繁琐操作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纸上笔下

承蒙厚爱,不胜感激。铭记于心!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值