Entfernen Sie Verzeichnisse/Unterverzeichnisse, wenn der Pfad einer der 50 sein könnte, mit PowerShell 5 oder >

Entfernen Sie Verzeichnisse/Unterverzeichnisse, wenn der Pfad einer der 50 sein könnte, mit PowerShell 5 oder >

Windows 10 64-Bit. PowerShell 5.1

Entfernen Sie Verzeichnisse/Unterverzeichnisse, wenn der Pfad mit PowerShell 5 oder > einer der Werte 50 sein kann.

Entfernen Sie livebolivar.comund seine Unterverzeichnisse ausany of 50 folders named mmddyy

"%USERPROFILE%\desktop\websites\"any of 50 folders named mmddyy"\livebolivar.com"

Entfernen Sie %USERPROFILE%\desktop\websites\011920\livebolivar.com

Findet zu viel:

gci %USERPROFILE%\desktop\websites -recurse | Where-Object {($_.PSIsContainer)} | Foreach { if ( $_.Name -eq "livebolivar.com") {remove-item $_.fullname -confirm}} 

Funktioniert nicht:

gci -exclude favorites %USERPROFILE%\desktop\websites -recurse | Where-Object {($_.PSIsContainer)} | Foreach { if ( $_.Name -eq "livebolivar.com") {remove-item $_.fullname -confirm}} 

Dadurch wurden die Unterordner gelöscht:

$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}} 

Testordner erstellen:

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 

Verzeichnisse rekursiv durchsuchen Verzeichnisse rekursiv entfernen Verzeichnisse und Unterverzeichnisse mit remove-item entfernen Verzeichnisse und Unterverzeichnisse mit ri entfernen

Antwort1

Windows 10 64-Bit. PowerShell 5.1

Verzeichnis rekursiv mit Platzhalter entfernen.

gci $env:USERPROFILE\desktop\websites\*\livebolivar.com | % {ri $_.fullname -recurse -force -whatif}

% Führt eine Operation für jedes Element in einer Sammlung von Eingabeobjekten aus.

$_ stellt das aktuelle Element aus der Pipe dar.

.fullname ist Pfad\Name.ext

Keine Unterverzeichnisse? -forceist nicht nötig

gci $env:USERPROFILE\desktop\websites\*\livebolivar.com | % {ri $_.fullname -recurse -whatif} 

verwandte Informationen