PowerShell 5 또는 >를 사용하여 경로가 50개 중 하나일 수 있는 경우 디렉터리/하위 디렉터리를 제거합니다.

PowerShell 5 또는 >를 사용하여 경로가 50개 중 하나일 수 있는 경우 디렉터리/하위 디렉터리를 제거합니다.

윈도우 10 64비트. 파워셸 5.1

PowerShell 5 또는 >를 사용하여 경로가 50개 중 하나일 수 있는 경우 디렉터리/하위 디렉터리를 제거합니다.

제거 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 

반복 디렉토리 제거 디렉토리는 ri를 사용하여 제거 항목 제거 디렉토리 및 하위 디렉토리를 사용하여 디렉토리 및 하위 디렉토리를 반복적으로 제거합니다.

답변1

윈도우 10 64비트. 파워셸 5.1

와일드카드를 사용하여 디렉터리를 반복적으로 제거합니다.

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

% 입력 개체 컬렉션의 각 항목에 대해 작업을 수행합니다.

$_는 파이프의 현재 항목을 나타냅니다.

.fullname은 경로\name.ext입니다.

하위 디렉터리가 없나요? -force필요하지 않습니다

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

관련 정보