【问题标题】:From a parent folder, how do I get git to go to specific folders that all have the same suffix using a loop?从父文件夹中,如何让 git 使用循环转到所有具有相同后缀的特定文件夹?
【发布时间】:2021-12-11 05:13:47
【问题描述】:

我有一个名为 'gitt' 的父文件夹在这个里面,我有四个子文件夹 'gitt1' 'gitt2' 'gitt3' 'gitt4'

这四个子文件夹中的每一个都有几个文件夹,包括一个与子文件夹 +1.0 同名的 git 存储库文件夹

例如 gitt1 有几个文件夹,包括它的存储库:gitt11.0

gitt2 的文件夹很少,包括它的存储库:gitt21.0 等

从父文件夹 gitt,我想要一个循环命令去每个子文件夹,找到与子文件夹同名但以 '1.0' 结尾的文件夹,然后导航到它,检查它的'git status 和回溯两层。

我找到了这个for /f "tokens=*" %a in ('dir /ad /b') do cd %a & git status & cd.. 但它只对子文件夹执行git status,不会进入以 1.0 结尾的文件夹

我不想将父文件夹 (gitt) 设为存储库。

【问题讨论】:

  • 是的,我的错。他们中的任何一个都可以。

标签: git cmd git-bash git-status


【解决方案1】:

使用命令FOR /? 查看可以应用于路径的修饰符。这假定git 可以在指定为命令行参数的目录路径上执行状态。如果没有,可能需要 CD。

FOR /F "tokens=*" %A IN ('DIR /AD /B "C:\src\t\gitt\gitt*"') DO @(ECHO git status "%~dpnxA\%~nxA1.0")

与往常一样,将 .bat 文件脚本中的百分号字符加倍。

【讨论】:

  • 谢谢。这将打印文件夹的路径。我怎样才能让它改为git status
  • 如果路径正确,请删除 git 命令前的ECHO
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-12
  • 2016-01-20
  • 1970-01-01
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
  • 2020-02-20
相关资源
最近更新 更多