我想在主文件夹中找到子文件夹。
例如,我有一个名为build
的文件夹,内部版本中有子文件夹作为示例XYZ
,内部XYZ
还有其他子文件夹,如ZYX
,里面还有其他文件夹。完整路径如:build\XYZ\ZYX\ABC
。
我想转到ABC
,但是,我没有办法达到它。如何查找子文件夹并在PowerShell脚本中转到它。
Get-childItem
会工作吗?如果是,怎么样?
答案 0 :(得分:2)
您可以使用Get-ChildItem
cmdlet检索所有目录,并使用Where-Object
cmdlet排除包含子目录的所有文件夹:
Get-ChildItem 'your_path_to_build' -Recurse -Directory | Where-Object { ![IO.Directory]::GetDirectories($_.FullName) }
答案 1 :(得分:2)
您可以使用-Directory
开关并使用以下命令递归搜索:
Get-ChildItem *ABC* -Recurse -Directory
其中* ABC *是您要查找的文件夹名称的一部分。
答案 2 :(得分:1)
这可能有点长,但我想你是想先找出最长的路径(层次结构中最深的)来cd到它,所以也许是这样的:
Set-Location (Get-ChildItem 'c:\CICDTestCICD' -Recurse -Directory |% {
[PSCustomObject]@{Path=$_.FullName;
Depth=($_.fullname.split('\')).count
}
} |
sort Depth -Descending | select -first 1
).path
这个想法是: