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
相关推荐
王码码20352 小时前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
HelloTonyGo4 小时前
个人游戏笔记本免费“养龙虾”(Win10+WSL2+OpenClaw 部署与配置指南)
windows·ubuntu·wsl2·openclaw
待续3014 小时前
OpenClaw 安装及使用教程(Windows / macOS / Linux)
linux·windows·macos
sthnyph6 小时前
MySQL 8.0在windows环境安装及配置
windows·mysql·adb
Irene19916 小时前
Git 命令汇总表(基于一次完整的 Git 实战经验整理,涵盖从安装配置到日常开发、问题排查的所有常用命令)
git·常用命令
深念Y7 小时前
Windows 11 23H2 搜狗输入法卸载后任务栏严重卡顿问题分析
windows
q5431470877 小时前
Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
redis·git·bootstrap
素雨迁喜8 小时前
Linux平台下git工具的使用
linux·运维·git
AI-小柒8 小时前
DataEyes 聚合平台 + Claude Code Max 编程实战
android·开发语言·人工智能·windows·python·macos·adb