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
相关推荐
ysu_03141 小时前
Docker-Desktop-WSL2实战指南-Windows从安装配置到项目容器化
windows·python·docker·容器·composer·dockerfile·wsl2
shimly1234561 小时前
(undone) 解析 qemu-6.0.0 源码 (4) 添加 niubi board
windows
行者-全栈开发4 小时前
【码动四季·秋】从 commit 到发版全自动:Conventional Commits + semantic-release 发布流水线实战
git·ci/cd·自动化发布·atomgit·semantic-releas·语义化版本自动化·git 提交规范落地
柳鲲鹏4 小时前
安装WIN11(26H2)时,忽略跳过TPM和SecureBoot检查
windows
weixin1997010801615 小时前
《1688物流API接口边界:logistics.trace.get 与 freight.template.list 的隐藏约束》(附Python源码)
windows·python·list
爱编程的Zion1 天前
【踩坑记录】同一个 WiFi 下,A 电脑能访问 192.168.0.115,B 电脑死活不行 ——Windows 路由表缺失引发的故障排查
windows·电脑
Qwier1 天前
Win Srv 2019 安装补丁后重启
运维·服务器·windows
lusklusklusk1 天前
Python 四大数据结构详解:元组、列表、集合、字典的特点与增删改查
数据结构·windows·python
今年下半年1 天前
【运维】windows虚拟机安装arm(aarch64)服务器
运维·windows·arm·虚拟机·aarch64
浪潮IT馆1 天前
Windows 10 安装 PostgreSQL 9.6.24 完整教程
数据库·windows·postgresql