windows git 更新当前目录下所有的文件(非递归)

虽然这种脚本在AI 时代几分钟就可以写完 + 调试完,但是这个我已经调试+测试好了,所以还是保留一下,便于在一些老的机器上及时更新代码

bash 复制代码
@echo off
:: 强制跳转到脚本所在目录
cd /d "%~dp0"
setlocal enabledelayedexpansion

echo [INFO] 开始检测并拉取所有 Git 仓库...
echo --------------------------------------------------

:: 使用 dir 获取文件夹名,能更好地处理带空格和长文件名的目录
for /f "delims=" %%i in ('dir /ad /b') do (
    if exist "%%i\.git\" (
        echo [GIT] 正在进入文件夹: %%i
        
        :: 记录当前主目录路径
        set "MAIN_DIR=%cd%"
        
        :: 使用 cd 直接进入,不使用容易报错的 pushd
        cd /d "%%i" 2>nul
        
        if !errorlevel! equ 0 (
            :: 执行拉取
            git pull --ff-only
            
            if !errorlevel! equ 0 (
                echo [SUCCESS] %%i 更新成功。
            ) else (
                echo [ERROR] %%i 更新失败。
            )
            
            :: 切换回主目录
            cd /d "!MAIN_DIR!"
        ) else (
            echo [ERROR] 无法进入目录: %%i
        )
        echo --------------------------------------------------
    )
)

echo [FINISH] 所有操作已完成。
pause
相关推荐
齐 飞8 小时前
idea中git误操作撤回git reset --hard ‘HEAD@{1}‘
java·git·intellij-idea
长成一棵参天树10 小时前
React15 vs React16 核心区别
git·vscode
爱吃火鸡面呀11 小时前
Spark RDD 行动算子(Action)详解
windows·ajax·spark
dlhto11 小时前
Windows 使用 Rufus 制作 AlmaLinux 10.2 启动 U 盘:从 ISO 下载到服务器安装
运维·服务器·windows
小矮强12 小时前
输入凭证也没用?Windows 共享文件夹“来宾访问被安全策略阻止”
windows·经验分享
skywalk816313 小时前
Virtualbox 从7.2.20降级到7.2.18 @FreeBSD系统
windows·virtualbox·freebsd
DogDaoDao13 小时前
Windows 双 Shell 全面对比:CMD 与 PowerShell 的技术剖析
windows·shell·测试·powershell·cmd·程序员开发
长不大的杨瑞杰13 小时前
Windows 安装 OpenCode v2:原生、WSL、Desktop 怎么选?完整配置与避坑指南
人工智能·windows·ai agent·opencode
驭渊的小故事14 小时前
Git 基础操作与对象观察
git