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
相关推荐
Zucker n1 小时前
文献发现、课题组织与证据可追溯的论文阅读。
论文阅读·windows·ubuntu
你叶不叶2 小时前
abap git 如何从 gitee上在线拉取数据(上一步已经配置好证书)
git·gitee·sap·abapgit
flyingonpine21 小时前
PowerShell脚本数字签名实战:自签名证书、代码签名与信任链验证
windows·信任链
kuroomi1 天前
Git入门
git·kubernetes
daliucheng1 天前
lazygit 上手:日常 git 操作一篇讲完
git
goehou1 天前
让 AI 替我操作这台电脑,先把手能伸多远定下来
windows·自动化·权限管理·ai agent
codigger1 天前
大厂git提交规范
git·程序员
公子小六1 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
挖掘狂人1 天前
六条分支,一条主干:我的 Git 分支管理心得
git·后端·程序员
Brookty1 天前
Git与GitHub系统学习|本地Git工作模型:终端与进程、CWD、HEAD/Index/工作树及Git对象
git·github