Remove-Item
Menghapus item yang ditentukan.
Sintaks
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-DeleteKey]
[<CommonParameters>]
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-DeleteKey]
[<CommonParameters>]
Remove-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Remove-Item
Cmdlet menghapus satu atau beberapa item. Karena didukung oleh banyak penyedia, ia dapat menghapus berbagai jenis item, termasuk file, folder, kunci registri, variabel, alias, dan fungsi.
Contoh
Contoh 1: Menghapus file yang memiliki ekstensi file apa pun
Contoh ini menghapus semua file dengan nama yang menyertakan titik (.
) dari C:\Test
folder.
Karena perintah menentukan titik, perintah tidak menghapus folder atau file yang tidak memiliki ekstensi file.
Remove-Item C:\Test\*.*
Contoh 2: Menghapus file dokumen dalam folder
Contoh ini menghapus dari folder saat ini semua file yang memiliki .doc
ekstensi file dan nama yang tidak menyertakan *1*
.
Remove-Item * -Include *.doc -Exclude *1*
Ini menggunakan karakter kartubebas (*
) untuk menentukan isi folder saat ini. Ini menggunakan parameter Sertakan dan Kecualikan untuk menentukan file yang akan dihapus.
Contoh 3: Menghapus file tersembunyi dan baca-saja
Perintah ini menghapus file yang tersembunyi dan baca-saja.
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
Ini menggunakan parameter Jalur untuk menentukan file. Ini menggunakan parameter Paksa untuk menghapusnya. Tanpa Force, Anda tidak dapat menghapus file baca-saja atau tersembunyi .
Contoh 4: Menghapus file di subfolder secara rekursif
Perintah ini menghapus semua file CSV di folder saat ini dan semua subfolder secara rekursif.
Karena parameter Berulang dalam Remove-Item
memiliki masalah yang diketahui, perintah dalam contoh ini menggunakan Get-ChildItem
untuk mendapatkan file yang diinginkan, lalu menggunakan operator alur untuk meneruskannya ke Remove-Item
.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
Get-ChildItem
Dalam perintah, Jalur memiliki nilai (*
), yang mewakili konten folder saat ini. Ini menggunakan Sertakan untuk menentukan jenis file CSV, dan menggunakan Recurse untuk membuat pengambilan rekursif. Jika Anda mencoba menentukan jenis file di jalur, seperti -Path *.csv
, cmdlet menginterpretasikan subjek pencarian menjadi file yang tidak memiliki item anak, dan Berulang gagal.
Catatan
Perilaku ini diperbaiki di Windows versi 1909 ke atas.
Contoh 5: Menghapus subkuntang secara rekursif
Perintah ini menghapus kunci registri "OldApp" dan semua subkuntang dan nilainya. Ini menggunakan Remove-Item
untuk menghapus kunci. Jalur ditentukan, tetapi nama parameter opsional (Jalur) dihilangkan.
Parameter Rekursif menghapus semua konten kunci "OldApp" secara rekursif. Jika kunci berisi subkuntah dan Anda menghilangkan parameter Recurse , Anda diminta untuk mengonfirmasi bahwa Anda ingin menghapus konten kunci.
Remove-Item HKLM:\Software\MyCompany\OldApp -Recurse
Contoh 6: Menghapus file dengan karakter khusus
Contoh berikut menunjukkan cara menghapus file yang berisi karakter khusus seperti tanda kurung atau tanda kurung.
Get-ChildItem
Directory: C:\temp\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 6/1/2018 12:19 PM 1362 myFile.txt
-a--- 6/1/2018 12:30 PM 1132 myFile[1].txt
-a--- 6/1/2018 12:19 PM 1283 myFile[2].txt
-a--- 6/1/2018 12:19 PM 1432 myFile[3].txt
Get-ChildItem | Where-Object Name -Like '*`[*'
Directory: C:\temp\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 6/1/2018 12:30 PM 1132 myFile[1].txt
-a--- 6/1/2018 12:19 PM 1283 myFile[2].txt
-a--- 6/1/2018 12:19 PM 1432 myFile[3].txt
Get-ChildItem | Where-Object Name -Like '*`[*' | ForEach-Object { Remove-Item -LiteralPath $_.Name }
Get-ChildItem
Directory: C:\temp\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 6/1/2018 12:19 PM 1362 myFile.txt
Contoh 7: Menghapus aliran data alternatif
Contoh ini menunjukkan cara menggunakan parameter dinamis Stream cmdlet Remove-Item
untuk menghapus aliran data alternatif. Parameter stream diperkenalkan di Windows PowerShell 3.0.
Get-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
FileName: \\C:\Test\Copy-Script.ps1
Stream Length
------ ------
Zone.Identifier 26
Remove-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Item C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Item : Could not open alternate data stream 'Zone.Identifier' of file 'C:\Test\Copy-Script.ps1'.
Parameter Get-Item
Stream mendapatkan Zone.Identifier
aliran Copy-Script.ps1
file. Remove-Item
menggunakan parameter Stream untuk menghapus Zone.Identifier
aliran file. Akhirnya, Get-Item
cmdlet menunjukkan bahwa Zone.Identifier
aliran dihapus.
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet. Untuk informasi lebih lanjut, baca artikel berikut:
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Catatan
Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain, atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DeleteKey
Ini adalah parameter dinamis yang disediakan oleh penyedia Sertifikat . Penyedia Sertifikat dan parameter ini hanya tersedia di platform Windows.
Saat disediakan, cmdlet menghapus kunci privat saat sertifikat dihapus.
Untuk informasi selengkapnya, lihat about_Certificate_Provider.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Menentukan, sebagai array string, item atau item yang dikecualikan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Path . Masukkan elemen atau pola jalur, seperti *.txt
. Karakter kartubebas diizinkan. Parameter Kecualikan hanya efektif ketika perintah menyertakan konten item, seperti C:\Windows\*
, di mana karakter kartubebas C:\Windows
menentukan konten direktori.
Saat menggunakan Recurse dengan Exclude, Kecualikan hanya memfilter hasil direktori saat ini. Jika ada file yang cocok dengan pola Kecualikan dalam subfolder, file tersebut akan dihapus bersama dengan direktori induknya.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Menentukan filter untuk memenuhi syarat parameter Jalur . Penyedia FileSystem adalah satu-satunya penyedia PowerShell yang diinstal yang mendukung penggunaan filter. Anda dapat menemukan sintaks untuk bahasa filter FileSystem dalam about_Wildcards. Filter lebih efisien daripada parameter lain, karena penyedia menerapkannya ketika cmdlet mendapatkan objek daripada memfilter PowerShell objek setelah diambil.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Memaksa cmdlet untuk menghapus item yang tidak dapat diubah, seperti file tersembunyi atau baca-saja atau alias atau variabel baca-saja. Cmdlet tidak dapat menghapus alias atau variabel konstanta. Implementasi bervariasi dari penyedia ke penyedia. Untuk informasi selengkapnya, lihat about_Providers. Bahkan menggunakan parameter Force , cmdlet tidak dapat mengambil alih pembatasan keamanan.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Menentukan, sebagai array string, item atau item yang disertakan cmdlet ini dalam operasi. Nilai parameter ini memenuhi syarat parameter Path . Masukkan elemen atau pola jalur, seperti "*.txt"
. Karakter kartubebas diizinkan. Parameter Sertakan hanya efektif ketika perintah menyertakan konten item, seperti C:\Windows\*
, di mana karakter kartubebas C:\Windows
menentukan konten direktori.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Menentukan jalur ke satu atau beberapa lokasi. Nilai LiteralPath digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai kartubebas. Jika jalur menyertakan karakter escape, sertakan dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.
Untuk informasi selengkapnya, lihat about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Menentukan jalur item yang sedang dihapus. Karakter kartubebas diizinkan.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Recurse
Menunjukkan bahwa cmdlet ini menghapus item di lokasi yang ditentukan dan di semua item turunan lokasi.
Parameter Berulang mungkin tidak menghapus semua subfolder atau semua item turunan. Ini adalah masalah yang sudah diketahui.
Catatan
Perilaku ini diperbaiki di Windows versi 1909 dan yang lebih baru.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Stream
Ini adalah parameter dinamis yang disediakan oleh penyedia FileSystem . Parameter ini hanya tersedia di Windows. Parameter ini tidak dapat digunakan dalam kombinasi dengan parameter Recurse .
Anda dapat menggunakan Remove-Item
untuk menghapus aliran data alternatif, seperti Zone.Identifier
.
Namun, ini bukan cara yang disarankan untuk menghilangkan pemeriksaan keamanan yang memblokir file yang diunduh dari Internet. Jika Anda memverifikasi bahwa file yang diunduh aman, gunakan Unblock-File
cmdlet .
Parameter ini diperkenalkan di Windows PowerShell 3.0. Pada Windows PowerShell 7.2, Remove-Item
dapat menghapus aliran data alternatif dari direktori serta file.
Untuk informasi selengkapnya, lihat about_FileSystem_Provider.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan string yang berisi jalur, tetapi bukan jalur harfiah, ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
PowerShell menyertakan alias berikut untuk Remove-Item
:
- Semua platform:
del
erase
rd
ri
- Windows:
rm
rmdir
Remove-Item
Cmdlet dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia di sesi Anda, ketik Get-PsProvider
. Untuk informasi selengkapnya, lihat about_Providers.
Ketika Anda mencoba menghapus folder yang berisi item tanpa menggunakan parameter Recurse , cmdlet meminta konfirmasi. Menggunakan -Confirm:$false
tidak menekan perintah. Ini memang disengaja.
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk