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.