dos 递归遍历当前目录及子目录,并筛选出指定目录名称的路径,执行 git 命令 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dabao
V2EX    Windows

dos 递归遍历当前目录及子目录,并筛选出指定目录名称的路径,执行 git 命令

  •  
  •   dabao 2017-06-16 13:16:03 +08:00 3937 次点击
    这是一个创建于 3100 天前的主题,其中的信息可能已经所发展或是发生改变。

    小弟现想通过使用批处理遍历 Windows 中的 D:\Workspace 文件夹下所有文件夹,找到有.git 文件夹的目录,执行 git pull。不知是否可行,请各位赐教!

    希望最好可以贴上批处理代码,谢谢各位兄弟姐妹啦!!!

    8 条回复    2017-06-20 09:09:34 +08:00
    yushiro
        1
    yushiro  
       2017-06-16 13:30:55 +08:00 via iPhone
    你的需求就不是正常的使用 git 流程,想想其他方法吧。
    SourceMan
        2
    SourceMan  
       2017-06-16 13:38:32 +08:00
    可以的,这个需求没问题,也很容易实现,刚好我会写呢
    doublleft
        3
    doublleft  
       2017-06-16 17:06:15 +08:00
    >> 请说出你原始需求 <<

    一键更新所有代码,不管有没有关联?
    我猜测你如果是多个子系统组成的一个系统,可以 submodule 啊
    momocraft
        4
    momocraft  
       2017-06-16 17:11:53 +08:00
    那自然是.. 能

    不过 bash 这种能几行搞定的就算了,cmd 你可能要加钱或等好心人
    guanaco
        5
    guanaco  
       2017-06-16 17:14:55 +08:00
    dir /a /s /d *.git 是要这个?
    geelaw
        6
    geelaw  
       2017-06-16 17:40:02 +08:00 via iPhone   1
    Get-ChildItem '.git' -Directory -Recurse - Force | ForEach-Object {
    Push-Location;
    $_ | Set-Location;
    Set-Location '..';
    # 在这个目录下做你的事情
    Pop-Location;
    }
    nannanziyu
        7
    nannanziyu  
       2017-06-16 17:52:09 +08:00   1
    @echo off
    set pwd=%~dp0
    for /f "delims=" %%i in ('dir /b /a:d /s ".git"') do call:funcPullFolder %%i
    goto:eof

    :funcPullFolder
    cd %~1\..
    git pull
    cd %pwd%
    goto:eof
    dabao
        8
    dabao  
    OP
       2017-06-20 09:09:34 +08:00
    @yushiro @doublleft 谢谢,确实非正常使用,我 clone 了多个 git 项目在本地,每次都要一一更新,太麻烦,于是就想用批处理一次执行获取所有

    @SourceMan @momocraft 谢谢

    @guanaco 谢谢,这命令对我有帮助
    @geelaw 谢谢,这个好像是 powershell 命令吧,在 windows10 下也是非常有用的
    @nannanziyu 谢谢,这个批处理正是我想要的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1154 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:34 PVG 01:34 LAX 09:34 JFK 12:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86