我想要在给定目录中的所有子目录中初始化存储库。由于其中大约有200个(遗留项目),我想用Powershell将其自动化。到目前为止,我有:在所有子目录中调用git init的Powershell脚本
$items = Get-ChildItem -Path "."
foreach ($item in $items)
{
if ($item.Attributes -eq "Directory")
{
$git = "C:\Program Files (x86)\Git\cmd\git"
& $git "init"
}
}
显然我缺少一个行,我使用循环中的每个子目录。在目前的形式中,我相信所有这一切都会在同一个目录(“。”)中反复调用“git init”,那么从每个子目录内部调用git init的方式是什么?有没有办法暂时“cd”到找到的每个子目录中?
我试过天真的东西像
& $item.Name + "\git init"
但它不喜欢的是,出于显而易见的原因。
所以我总Powershell的小白,所以如果我只使用一键定位我的示例脚本的循环在上述范围内,然后弹出地点后,我做我必要的命令,会做同样的事情?这是一个很好的一行,但有点难以阅读。 – starmandeluxe
@starmandeluxe重写了我的答案,希望它有帮助:) – poke
这两个答案看起来不错,但只是修改我当前的脚本,这一个解决方案。谢谢 – starmandeluxe