Я пытаюсь удалить все файлы из всех подкаталогов, сохраняя при этом структуру папок, но исключая удаление файлов за октябрь 2019 года в каждом подкаталоге ⇒ root_dir\*\2019\October\
Каталогструктура выглядит следующим образом:
C:\Users\User1\Documents\MyFolder
├───Directory1
│ ├───2018
│ │ ├───April
│ │ │ └───Error
│ │ ├───August
│ │ │ └───Error
│ │ ├───February
│ │ │ └───Error
│ │ ├───January
│ │ │ └───Error
│ │ ├───July
│ │ │ └───Error
│ │ ├───June
│ │ │ └───Error
│ │ ├───March
│ │ │ └───Error
│ │ ├───May
│ │ │ └───Error
│ │ ├───October
│ │ │ └───Error
│ │ └───September
│ │ └───Error
│ └───2019
│ ├───April
│ │ └───Error
│ ├───August
│ │ └───Error
│ ├───February
│ │ └───Error
│ ├───January
│ │ └───Error
│ ├───July
│ │ └───Error
│ ├───June
│ │ └───Error
│ ├───March
│ │ └───Error
│ ├───May
│ │ └───Error
│ ├───October
│ │ └───Error
│ └───September
│ └───Error
└───Directory2
├───2018
│ ├───April
│ │ └───Error
│ ├───August
│ │ └───Error
│ ├───February
│ │ └───Error
│ ├───January
│ │ └───Error
│ ├───July
│ │ └───Error
│ ├───June
│ │ └───Error
│ ├───March
│ │ └───Error
│ ├───May
│ │ └───Error
│ ├───October
│ │ └───Error
│ └───September
│ └───Error
└───2019
├───April
│ └───Error
├───August
│ └───Error
├───February
│ └───Error
├───January
│ └───Error
├───July
│ └───Error
├───June
│ └───Error
├───March
│ └───Error
├───May
│ └───Error
├───October
│ └───Error
└───September
└───Error
Из документов Microsoft PowerShell я должен иметь возможность подстановки пути исключения. Я пробовал несколько вариантов, но вот где я сейчас нахожусь:
$root = 'C:\Users\User1\Documents\MyFolder'
$excludes = 'C:\Users\User1\Documents\MyFolder\*\2019\October\'
Get-ChildItem $root -Directory -Exclude $excludes | ForEach-Object {
Get-ChildItem $_.FullName -File -Recurse -Force | Remove-Item -Force
}
Вышеприведенное работает, за исключением того, что все еще удаляются файлы из C:\Users\User1\Documents\MyFolder\Directory1\2019\October\*
и C:\Users\User1\Documents\MyFolder\Directory2\2019\October\*
I 'мы пытались указать .\2019\October\*.*
, но это тоже не сработало.