Remove-Item
Belirtilen öğeleri siler.
Syntax
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-DeleteKey] <CommonParameters>]
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-DeleteKey]
[<CommonParameters>]
Remove-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Remove-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
Remove-Item
Cmdlet bir veya daha fazla öğeyi siler. Birçok sağlayıcı tarafından desteklendiğinden dosyalar, klasörler, kayıt defteri anahtarları, değişkenler, diğer adlar ve işlevler gibi birçok farklı öğe türünü silebilir.
Örnekler
Örnek 1: Herhangi bir dosya uzantısına sahip dosyaları silme
Bu örnek, klasörden nokta (.
) C:\Test
içeren adlara sahip tüm dosyaları siler.
Komut bir nokta belirttiğinden, komut dosya uzantısı olmayan klasörleri veya dosyaları silmez.
Remove-Item C:\Test\*.*
Örnek 2: Klasördeki belge dosyalarını silme
Bu örnek geçerli klasörden dosya uzantısına ve içermeyen *1*
bir .doc
ada sahip tüm dosyaları siler.
Remove-Item * -Include *.doc -Exclude *1*
Geçerli klasörün içeriğini belirtmek için joker karakteri (*
) kullanır. Silinecek dosyaları belirtmek için Include ve Exclude parametrelerini kullanır.
Örnek 3: Gizli, salt okunur dosyaları silme
Bu komut hem gizlihem de salt okunur bir dosyayı siler.
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
Dosyayı belirtmek için Path parametresini kullanır. Bunu silmek için Force parametresini kullanır. Zorla olmadan salt okunur veya gizli dosyaları silemezsiniz.
Örnek 4: Alt klasörlerdeki dosyaları yinelemeli olarak silme
Bu komut geçerli klasördeki tüm CSV dosyalarını ve tüm alt klasörleri özyinelemeli olarak siler.
içindeki Remove-Item
Recurse parametresinin bilinen bir sorunu olduğundan, bu örnekteki komut istenen dosyaları almak için kullanır Get-ChildItem
ve sonra işlem hattı işlecini kullanarak bunları öğesine Remove-Item
geçirir.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
Komutunda Get-ChildItem
Path, geçerli klasörün içeriğini temsil eden ()*
değerine sahiptir. CSV dosya türünü belirtmek için Ekle'yi ve alma işlemini özyinelemeli yapmak için Özyinele'yi kullanır. yolundaki dosya türünü (gibi -Path *.csv
) belirtmeye çalışırsanız, cmdlet aramanın konusunu alt öğe içermeyen bir dosya olarak yorumlar ve Yineleme başarısız olur.
Not
Bu davranış Windows 1909 ve üstü sürümlerinde düzeltildi.
Örnek 5: Alt anahtarları yinelemeli olarak silme
Bu komut , "OldApp" kayıt defteri anahtarını ve tüm alt anahtarlarını ve değerlerini siler. Anahtarı kaldırmak için kullanır Remove-Item
. Yol belirtilir, ancak isteğe bağlı parametre adı (Yol) atlanır.
Recurse parametresi, "OldApp" anahtarının tüm içeriğini özyinelemeli olarak siler. Anahtar alt anahtar içeriyorsa ve Recurse parametresini atlarsanız, anahtarın içeriğini silmek istediğinizi onaylamanız istenir.
Remove-Item HKLM:\Software\MyCompany\OldApp -Recurse
Örnek 6: Özel karakterler içeren dosyaları silme
Aşağıdaki örnekte köşeli ayraç veya parantez gibi özel karakterler içeren dosyaların nasıl silineceği gösterilmektedir.
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
Örnek 7: Alternatif veri akışını kaldırma
Bu örnekte, alternatif bir veri akışını silmek için cmdlet'in Stream dinamik parametresinin Remove-Item
nasıl kullanılacağı gösterilmektedir. Stream parametresi Windows PowerShell 3.0'da kullanıma sunulmuştur.
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'.
At line:1 char:1
+ Get-Item 'C:\Test\Copy-Script.ps1' -Stream Zone.Identifier
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\Test\Copy-Script.ps1:String) [Get-Item], FileNotFoundException
+ FullyQualifiedErrorId : AlternateDataStreamNotFound,Microsoft.PowerShell.Commands.GetItemCommand
Stream parametresi Get-Item
dosyanın akışını Copy-Script.ps1
alırZone.Identifier
. Remove-Item
, dosyanın akışını kaldırmak Zone.Identifier
için Stream parametresini kullanır. Get-Item
Son olarak, cmdlet'i akışın Zone.Identifier
silindiğini gösterir.
Parametreler
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Not
Bu parametre, PowerShell ile yüklenen sağlayıcılar tarafından desteklenmez. Başka bir kullanıcının kimliğine bürünmek veya bu cmdlet'i çalıştırırken kimlik bilgilerinizi yükseltmek için Invoke-Command kullanın.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DeleteKey
Bu, Sertifika sağlayıcısı tarafından sağlanan dinamik bir parametredir. Sertifika sağlayıcısı ve bu parametre yalnızca Windows platformlarında kullanılabilir.
Sağlandığında, sertifika silindiğinde cmdlet özel anahtarı siler.
Daha fazla bilgi için bkz . about_Certificate_Provider.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Dize dizisi olarak, bu cmdlet'in işlemde hariç tutulduğu öğeyi veya öğeleri belirtir. Bu parametrenin değeri Path parametresini niteler. gibi *.txt
bir yol öğesi veya deseni girin. Joker karakterlere izin verilir. Exclude parametresi yalnızca komutu gibi C:\Windows\*
bir öğenin içeriğini içerdiğinde geçerlidir; burada joker karakter dizinin içeriğini C:\Windows
belirtir.
Dışla ile Özyinele'yi kullanırken Dışla yalnızca geçerli dizinin sonuçlarını filtreler. Alt klasörlerde Dışlama düzeniyle eşleşen dosyalar varsa, bu dosyalar üst diziniyle birlikte kaldırılır.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Path parametresini nitelemek için bir filtre belirtir. FileSystem sağlayıcısı, filtrelerin kullanımını destekleyen tek yüklü PowerShell sağlayıcısıdır. FileSystem filtre dilinin söz dizimini about_Wildcards bulabilirsiniz. Sağlayıcı, nesneleri alındıktan sonra PowerShell'in filtrelemesini yapmak yerine nesneleri aldığında sağlayıcı bunları uyguladığından filtreler diğer parametrelerden daha verimlidir.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Cmdlet'i gizli veya salt okunur dosyalar ya da salt okunur diğer adlar veya değişkenler gibi başka türlü değiştirilmeyecek öğeleri kaldırmaya zorlar. Cmdlet sabit diğer adları veya değişkenleri kaldıramaz. Uygulama sağlayıcıdan sağlayıcıya değişir. Daha fazla bilgi için bkz . about_Providers. Zorla parametresi kullanıldığında bile cmdlet güvenlik kısıtlamalarını geçersiz kılamaz.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Dize dizisi olarak, bu cmdlet'in işleme dahil olduğu öğeyi veya öğeleri belirtir. Bu parametrenin değeri Path parametresini niteler. gibi "*.txt"
bir yol öğesi veya deseni girin. Joker karakterlere izin verilir. Include parametresi yalnızca komutu gibi C:\Windows\*
bir öğenin içeriğini içerdiğinde geçerlidir; burada joker karakter dizinin içeriğini C:\Windows
belirtir.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Bir veya daha fazla konumun yolunu belirtir. LiteralPath değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, tek tırnak içine alın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış dizisi olarak yorumlamaması gerektiğini söyler.
Daha fazla bilgi için bkz . about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Kaldırılan öğelerin yolunu belirtir. Joker karakterlere izin verilir.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Recurse
Bu cmdlet'in belirtilen konumlardaki ve konumların tüm alt öğelerindeki öğeleri sildiğini gösterir.
Recurse parametresi tüm alt klasörleri veya tüm alt öğeleri silemez. Bu bilinen bir sorundur.
Not
Bu davranış Windows 1909 ve daha yeni sürümlerde düzeltildi.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Stream
Bu, FileSystem sağlayıcısı tarafından sağlanan dinamik bir parametredir. Bu parametre yalnızca Windows'ta kullanılabilir. Bu parametre Recurse parametresiyle birlikte kullanılamaz.
gibi Zone.Identifier
alternatif bir veri akışını silmek için kullanabilirsinizRemove-Item
.
Ancak, İnternet'ten indirilen dosyaları engelleyen güvenlik denetimlerini ortadan kaldırmanın önerilen yolu değildir. İndirilen bir dosyanın güvenli olduğunu doğrularsanız cmdlet'ini Unblock-File
kullanın.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Daha fazla bilgi için bkz . about_FileSystem_Provider.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-UseTransaction
Komutunu etkin işleme ekler. Bu parametre yalnızca bir işlem devam ederken geçerlidir. Daha fazla bilgi için bkz. about_Transactions
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
Bu cmdlet'e yol içeren ancak değişmez yol içermeyen bir dizeyi kanala aktarabilirsiniz.
Çıkışlar
None
Bu cmdlet çıkış döndürmez.
Notlar
Windows PowerShell için aşağıdaki diğer adları Remove-Item
içerir:
del
erase
rd
ri
rm
rmdir
Remove-Item
Cmdlet, herhangi bir sağlayıcı tarafından kullanıma sunulan verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda kullanılabilen sağlayıcıları listelemek için yazın Get-PsProvider
. Daha fazla bilgi için bkz . about_Providers.
Yinele parametresini kullanmadan öğeleri içeren bir klasörü silmeye çalıştığınızda, cmdlet onay ister. kullanmak -Confirm:$false
istemi gizlemez. Bu tasarım gereğidir.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin