Powershell hanya menghapus file dari direktori


14

Saya mencoba menghapus semua file (tetapi bukan direktori) di D: \ MyTemp folder, saya sudah mencoba:

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

Namun, ketika saya periksa, semua file masih ada.
Apa yang saya lewatkan?

Jawaban:


18

Coba ini:

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

Ditemukan di sini: /superuser/150748/have-powershell-get-childitem-return-files-only

Untuk menghapus semua file di direktori yang ditentukan saja (mengabaikan sub-dir):

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

1
Ini hanya mencantumkan file di direktori saat ini
— SteB

Sayang saya, tidak yakin apakah Anda ingin melakukan recurse. Saya akan mengedit aslinya. Anda bisa menambahkan -recurse ke perintah Get-ChildItem
— bourne

Ini berfungsi (hanya menghapus file dari direktori yang ditentukan, mengabaikan sub-dir): Hapus-Item "D: \ MyTemp \ *. *" | Dimana {! $ _. PSIsContainer}
— SteB

Itu keren. Senang Anda berhasil.
— bourne

Maaf, SteB, saya baru sadar saya lupa menyertakan Remove-Item. Ini akan menjadi hari yang panjang wow!
— bourne

12

Jawaban yang diterima tidak berhasil untuk saya, sebaliknya saya membutuhkan:

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

Untuk memasukkan folder serta file, tambahkan -Recurse:

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

1
Ini menghapus file dari subdirektori juga - mungkin bukan apa yang dimaksudkan OP ...
— Robbie Dee

1
Jawaban ini harus diterima satu. Aku memilihmu!
— Teoman shipahi

4

Anda hampir sampai, Anda hanya perlu:

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

0

@bourne hampir memilikinya:

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

3
Ini tidak memberikan jawaban untuk pertanyaan itu. Setelah Anda memiliki reputasi yang cukup, Anda akan dapat mengomentari setiap pos ; alih-alih, berikan jawaban yang tidak memerlukan klarifikasi dari penanya . - Dari Ulasan
— rnxrx

Apa maksudmu itu tidak memberikan jawaban? Apa fungsinya? Ini adalah satu-satunya jawaban lengkap di halaman.
— Mordechai

Itu bukan jawaban yang mandiri. Sampai pada titik dalam respons Anda, ini merupakan koreksi terhadap jawaban lain dan harus dimasukkan sebagai komentar.
— rnxrx

maaf, saya kira Anda tidak mengerti PowerShell. Hanya karena saya merujuk pada jawaban lain, itu tidak membuat saya kurang "mandiri",
— Mordechai

Anda mungkin ingin menjelaskan masalah dengan jawaban yang lain, menjadikannya perintah. Kalau tidak, Anda mungkin ingin menjelaskan apa yang dilakukan perintah Powershell Anda
— Dennis Nolte
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.