Назад | Перейти на главную страницу

Powershell удаляет файлы только из каталога

Я пытаюсь удалить все файлы (но не каталоги) в папке D: \ MyTemp, пробовал:

Remove-Item "D:\MyTemp"
Remove-Item "D:\MyTemp\*"

Однако, когда я проверяю, все файлы все еще там.
Что мне не хватает?

Попробуй это:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer }

Нашел здесь: https://superuser.com/questions/150748/have-powershell-get-childitem-return-files-only

Чтобы удалить все файлы только в указанном каталоге (игнорируя подкаталоги):

Remove-Item "D:\MyTemp\*.*" | Where { ! $_.PSIsContainer }

Принятый ответ у меня не сработал, вместо этого мне понадобилось:

Get-Childitem -File | Foreach-Object {Remove-Item $_.FullName}

Чтобы включить как папки, так и файлы, добавьте -Recurse:

Get-Childitem -File -Recurse | Foreach-Object {Remove-Item $_.FullName}

Вы были почти у цели, вам просто нужно:

Remove-Item "D:\MyTemp\*.*"

@bourne почти достал:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer } | remove-item