![Удалите каталоги / подкаталоги, если путь может быть любым из 50, используя PowerShell 5 или >](https://rvso.com/image/1618355/%D0%A3%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D0%B5%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%20%2F%20%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%2C%20%D0%B5%D1%81%D0%BB%D0%B8%20%D0%BF%D1%83%D1%82%D1%8C%20%D0%BC%D0%BE%D0%B6%D0%B5%D1%82%20%D0%B1%D1%8B%D1%82%D1%8C%20%D0%BB%D1%8E%D0%B1%D1%8B%D0%BC%20%D0%B8%D0%B7%2050%2C%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D1%8F%20PowerShell%205%20%D0%B8%D0%BB%D0%B8%20%3E.png)
Windows 10 64-бит. PowerShell 5.1
Удалите каталоги / подкаталоги, если путь может быть любым из 50, используя PowerShell 5 или >.
Удалить livebolivar.com
и его подкаталоги изany of 50 folders named mmddyy
"%USERPROFILE%\desktop\websites\"any of 50 folders named mmddyy"\livebolivar.com"
Удалить %USERPROFILE%\desktop\websites\011920\livebolivar.com
Находит слишком много:
gci %USERPROFILE%\desktop\websites -recurse | Where-Object {($_.PSIsContainer)} | Foreach { if ( $_.Name -eq "livebolivar.com") {remove-item $_.fullname -confirm}}
Не работает:
gci -exclude favorites %USERPROFILE%\desktop\websites -recurse | Where-Object {($_.PSIsContainer)} | Foreach { if ( $_.Name -eq "livebolivar.com") {remove-item $_.fullname -confirm}}
Это удалило подпапки:
$path= @("%USERPROFILE%\desktop\websites\*\livebolivar.com")
$folders= gci -path $path -Recurse | Where-Object {$_.PsIsContainer} |Group-Object {$_.FullName.Split('_')[0] }
ForEach($folder in $folders){
$folder.Group | % { Remove-Item $_.fullname -recurse -force}}
Создайте тестовые папки:
pushd %USERPROFILE%\Desktop
foreach($i in -10..-1){
$z=(Get-Date).AddDays($i).tostring("MMddyy")
ni -itemtype directory $z\livebolivar.com\New Folder > $null}
ni -itemtype file $z\livebolivar.com\New Folder\test.txt > $null}
popd
exit
Рекурсивно удалить каталоги рекурсивно удалить каталоги и подкаталоги с помощью remove-item удалить каталоги и подкаталоги с помощью ri
решение1
Windows 10 64-бит. PowerShell 5.1
Рекурсивное удаление каталога с подстановочным знаком.
gci $env:USERPROFILE\desktop\websites\*\livebolivar.com | % {ri $_.fullname -recurse -force -whatif}
% Выполняет операцию над каждым элементом в коллекции входных объектов.
$_ представляет текущий элемент из канала.
.fullname — это путь\имя.расширение
Нет подкаталогов? -force
не требуется
gci $env:USERPROFILE\desktop\websites\*\livebolivar.com | % {ri $_.fullname -recurse -whatif}