gpt4 book ai didi

powershell - 无法在 Powershell 中使用 Get-ChildItem -Exclude 参数排除目录

转载 作者:行者123 更新时间:2023-12-02 23:08:09 26 4
gpt4 key购买 nike

我正在使用 Powershell v 2.0。以及将文件和目录从一个位置复制到另一个位置。我正在使用 string[] 来过滤文件类型,并且还需要过滤掉被复制的目录。文件已被正确过滤掉,但是,我尝试过滤 obj 的目录不断被复制。

$exclude = @('*.cs', '*.csproj', '*.pdb', 'obj')
$items = Get-ChildItem $parentPath -Recurse -Exclude $exclude
foreach($item in $items)
{
$target = Join-Path $destinationPath $item.FullName.Substring($parentPath.length)
if( -not( $item.PSIsContainer -and (Test-Path($target))))
{
Copy-Item -Path $item.FullName -Destination $target
}
}

我尝试了各种方法来过滤它,\obj*obj*\obj\但似乎没有任何效果。

感谢您的帮助。

最佳答案

-Exclude 参数非常糟糕。我建议您使用 Where-Object (?{}) 过滤不需要的目录。例如:

$exclude = @('*.cs', '*.csproj', '*.pdb')
$items = Get-ChildItem $parentPath -Recurse -Exclude $exclude | ?{ $_.fullname -notmatch "\\obj\\?" }

P.S.:警告——不要考虑在 Copy-Item 本身上使用 -Exclude

关于powershell - 无法在 Powershell 中使用 Get-ChildItem -Exclude 参数排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com