49 lines
1.1 KiB
Batchfile
49 lines
1.1 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
:: 参数处理:使用/pull参数先拉取更新
|
|
set DO_PULL=0
|
|
if /i "%~1"=="/pull" set DO_PULL=1
|
|
|
|
:: 遍历当前目录下的所有子目录
|
|
for /d %%i in (*) do (
|
|
pushd "%%i"
|
|
if exist ".git" (
|
|
echo.
|
|
echo [正在处理仓库] %%i
|
|
|
|
:: 拉取更新(如果启用)
|
|
if !DO_PULL! equ 1 (
|
|
echo 拉取最新更改...
|
|
git pull
|
|
if errorlevel 1 (
|
|
echo [错误] 拉取失败于 %%i
|
|
popd
|
|
goto :next_folder
|
|
)
|
|
)
|
|
|
|
:: 提交更改
|
|
git add .
|
|
git commit -m "modify"
|
|
if errorlevel 1 (
|
|
echo [信息] 无新更改或提交失败于 %%i
|
|
) else (
|
|
echo 推送更改到远程...
|
|
git push
|
|
if errorlevel 1 (
|
|
echo [错误] 推送失败于 %%i
|
|
)
|
|
)
|
|
) else (
|
|
echo.
|
|
echo [跳过] %%i 不是Git仓库
|
|
)
|
|
:next_folder
|
|
popd
|
|
)
|
|
|
|
:: 主动等待用户关闭
|
|
echo.
|
|
echo 所有操作已完成,按任意键关闭窗口...
|
|
pause >nul |