Windows 10 64-bit. PowerShell 5.1
Remove directories / sub-directories when path could be any of 50 using PowerShell 5 or >.
Remove livebolivar.com
and it's sub-directories from any of 50 folders named mmddyy
"%USERPROFILE%\desktop\websites\"any of 50 folders named mmddyy"\livebolivar.com"
Remove %USERPROFILE%\desktop\websites\011920\livebolivar.com
Finds too much:
gci %USERPROFILE%\desktop\websites -recurse | Where-Object {($_.PSIsContainer)} | Foreach { if ( $_.Name -eq "livebolivar.com") {remove-item $_.fullname -confirm}}
Did not work:
gci -exclude favorites %USERPROFILE%\desktop\websites -recurse | Where-Object {($_.PSIsContainer)} | Foreach { if ( $_.Name -eq "livebolivar.com") {remove-item $_.fullname -confirm}}
This deleted the subfolders:
$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}}
Make test folders:
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
Recurse directories remove directories recursively remove directories and sub-directories with remove-item remove directories and sub-directories with ri
gci "$Home\Desktop\Websites" -dir -recurse | ? Name -like 'livebolivar.com'
?gci "$Home\Desktop\Websites" -dir -recurse | ? { ($_.Name -like 'livebolivar.com') -and ($_.Parent.Name -match '\d{6}')}
gci
into my remove-item command and yourgci
works.