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
相关推荐
莫成4 小时前
git相关命令查阅
git
精神底层7 小时前
Skill——提示词的系统化封装
windows·.net
技术不好的崎鸣同学8 小时前
Windows 命令提示符(CMD)恶意脚本分析篇
网络·windows·安全·系统安全
ljh5746491198 小时前
git stash 和 git stash apply
git
2601_9623649711 小时前
告别明文密码:Windows Hello 抗钓鱼双因子认证安全体系科普
windows
问窗13 小时前
Rust实现Windows本地搜索工具
windows·搜索引擎·rust
Roc-xb13 小时前
你似乎已在另一个帐户上设置了 Windows Hello。请将人脸识别从其他帐户删除,然后重试。
windows·人脸识别
慕容引刀14 小时前
告别Commit信息纠结:使用Git AI Commit插件实现规范化提交
人工智能·git·github·visual studio code·visual studio
HAPPY酷14 小时前
【ROS2】16G 内存笔记本跑 ROS2 仿真?VMware 虚拟机“保姆级”配置指南 (R9 7940HX + RTX 4060)
java·linux·ide·windows·pycharm
夜雪一千1 天前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python