要在批处理脚本(.bat
)中遍历一个文件夹及其所有子文件夹,并在每个含有 .git
目录的子文件夹中执行 git pull
命令,你可以使用以下脚本模板:
batch
@echo off
setlocal enabledelayedexpansion
:: 设置要遍历的根目录
set "rootDir=C:\path\to\your\root\directory"
:: 遍历根目录下的所有子文件夹
for /d %%i in ("%rootDir%\*") do (
pushd "%%i"
:: 检查当前目录是否存在 .git 目录
if exist ".git\" (
echo 正在更新 %%~ni 分支...
git pull
if errorlevel 1 (
echo Git pull 失败,错误代码: !errorlevel!
) else (
echo Git pull 成功!
)
) else (
echo %%~ni 不是一个 Git 仓库,跳过...
)
popd
)
echo 所有子目录的 Git 更新已完成。
pause
请将 C:\path\to\your\root\directory
替换为你要遍历的根目录的实际路径。这个脚本会逐个进入子目录,如果子目录下存在 .git
文件夹,就执行 git pull
。如果 git pull
命令执行失败,它会显示错误代码。成功执行后,会显示相应的成功消息。使用 pause
命令会在脚本结束前暂停,以便你能查看输出信息。
请注意,这个脚本假设所有子目录都有适当的权限执行 git
命令,并且 git
已经添加到了系统的 PATH 环境变量中。如果没有,你可能需要在每个 git pull
命令前指定 git
的完整路径。