Исключить несколько папок из get-childitem - PullRequest
0 голосов
/ 05 марта 2020

У меня есть этот скрипт, который сравнивает 2 каталога друг с другом, если он совпадает, копирует его в другой каталог. Но мне нужно, чтобы в исходной папке были исключены 2 папки, потому что там есть старые файлы. Я исключил одну папку, но не могу добавить вторую. Кто-нибудь может мне помочь? (Я новичок в Powershell) Я знаю, что foreach l oop пуст, это для целей тестирования.

$aDir = "C:\Replace TEST SCRIPT\A"
$bDir = "C:\Replace TEST SCRIPT\Y"

$aFiles = Get-ChildItem -Path "$bDir\" -Exclude "Folder1","Folder2" | Get-ChildItem -Path "$bDir\*.pdf" -Recurse -File | select -exp FullName
ForEach ($file in $aFiles) {
    $laatste = (Get-Item $file).LastWriteTime
    $filenaam = Split-Path -Path "$file" -Leaf
    if(Test-Path -Path "C:\Replace TEST SCRIPT\A\$filenaam") {
        Write-Output "$filenaam exists in $aDir. Copying."         
        Copy-Item -Path "$file" -Recurse -Destination "$aDir" 
    } else {        
    }
}


1 Ответ

0 голосов
/ 05 марта 2020

Вы можете сделать это следующим образом:

$aFiles = Get-ChildItem -Path "$bDir\" -Exclude "PDF","folder2" | Get-ChildItem -filter "*.pdf" -Recurse -File | select -exp FullName

Кстати. Уже есть сообщение на ваш определенный вопрос: Как я могу исключить несколько папок с помощью Get-ChildItem -exclude?

Пожалуйста, посмотрите на него и сообщите нам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...