Я рекурсивно собираю все файлы из папки.
Я хочу исключить некоторые каталоги.
Этот пример работает нормально, но он работает только с расширениями файлов
$excluded = @("*.png", "*.svg", "*.jpg")
$files = Get-ChildItem -Path $pth -Recurse -File -Exclude $excluded
Один из путей может содержать каталог /debug/
, который я не хочу включать.Однако следующее не имеет никакого эффекта
$excluded = @("*\bin\*", "*\obj\*")
$files = Get-ChildItem -Path $pth -Recurse -File -Exclude $excluded
Я все еще получаю результаты, такие как c:\myProj\folder\bin\
Затем я попытался (показывая полный код)
$excluded = @("*.png", "*.svg", "*.jpg", "*.csproj", "*.sln","*.config","*.dep", "*.gif", "*.license", "*.dll", "*.nupkg", "*.exe", "*.application","*.manifest","*.xml","*.pdb", "*.cache")
$excludedPath = @("*\bin\*", "*\obj\*","*\System.Test\*")
$files = Get-ChildItem -Path $pth -Recurse -File -Exclude $excluded | Where-Object {$_.FullName -notlike $excludedPath}
Та же проблема!
PowerShell 5.1
Что я делаю не так?