工程实践

windows环境下git批量clone

· 三面体

复制如下脚本,另存为bat文件,双击执行。会批量clone至当前文件夹。 @echo off chcp 65001 >nul setlocal enabledelayedexpansion REM === 读取本脚本中地址列表部分(从 :REP

脚本

复制如下脚本,另存为bat文件,双击执行。会批量clone至当前文件夹。

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

REM === 读取本脚本中地址列表部分(从 :REPO_LIST_START 后) ===
set "SELF=%~f0"
set "FOUND=0"

for /f "usebackq delims=" %%A in ("%SELF%") do (
    REM 找到标记,开始读取仓库地址
    if "!FOUND!"=="1" (
        set "REPO_URL=%%A"
        if "!REPO_URL!"=="" (
            REM 跳过空行
            continue
        )

        REM 提取目录名(去掉 .git 后缀)
        for %%B in (!REPO_URL!) do (
            set "REPO_NAME=%%~nB"
        )

        if exist "!REPO_NAME!" (
            echo 跳过:目录 "!REPO_NAME!" 已存在。
        ) else (
            echo 正在克隆: !REPO_URL!
            git clone !REPO_URL!
        )
        echo.
    )

    if "%%A"==":REPO_LIST_START" (
        set "FOUND=1"
    )
)

echo 所有仓库处理完毕。
pause
exit /b

:REPO_LIST_START
git@github.com:sanmianti/AssemblyLanguageTest.git
git@github.com:sanmianti/MyNokia.git