Aracılığıyla paylaş


Remove-Item

Belirtilen öğeleri siler.

Sözdizimi

Path (Default) - FileSystem provider

Remove-Item
    [-Path] <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Recurse]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-Stream <String[]>]
    [<CommonParameters>]

LiteralPath - FileSystem provider

Remove-Item
    -LiteralPath <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Recurse]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-Stream <String[]>]
    [<CommonParameters>]

Path (Default) - Certificate provider

Remove-Item
    [-Path] <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Recurse]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-DeleteKey]
    [<CommonParameters>]

LiteralPath - Certificate provider

Remove-Item
    -LiteralPath <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Recurse]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-DeleteKey]
    [<CommonParameters>]

Path (Default) - All providers

Remove-Item
    [-Path] <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Recurse]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

LiteralPath - All providers

Remove-Item
    -LiteralPath <string[]>
    [-Filter <string>]
    [-Include <string[]>]
    [-Exclude <string[]>]
    [-Recurse]
    [-Force]
    [-Credential <pscredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Remove-Item cmdlet'i 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öründen 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

Geçerli klasörden, .doc dosya uzantısına sahip ve adında *1*içermeyen 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 gizli hem de salt okunurbir dosyayı siler.

Remove-Item -Path C:\Test\hidden-RO-file.txt -Force

Dosyayı belirtmek için Path parametresini kullanır. Silmek için Force parametresini kullanır. Zorlakullanmadan, 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.

Remove-Item parametresinin bilinen bir sorunu olduğundan, bu örnekteki komut istenen dosyaları almak için Get-ChildItem kullanır ve sonra bunları Remove-Item'e geçirmek için işlem hattı işlecini kullanır.

Get-ChildItem * -Include *.csv -Recurse | Remove-Item

Get-ChildItem komutunda, Yol geçerli klasörün içeriğini temsil eden (*) değerine sahiptir. CSV dosya türünü belirtmek için Include kullanır ve alma işlemini özyinelemeli yapmak için Özyineleme kullanır. Yolda -Path *.csvgibi dosya türünü belirtmeye çalışırsanız, cmdlet aramanın konusunu alt öğe içermeyen bir dosya olarak yorumlar ve Yineleme başarısız olur.

Uyarı

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 Remove-Item kullanır. Yol belirtilir, ancak isteğe bağlı parametre adı (Yol) atlanır.

Yineleme parametresi, "OldApp" anahtarının tüm içeriğini yinelemeli olarak siler. Anahtar alt anahtarlar içeriyorsa ve Yineleme 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 Remove-Item dinamik parametresinin 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'.

Stream parametresi Get-ItemZone.Identifier dosyasının Copy-Script.ps1 akışını alır. Remove-Item, dosyanın akışını kaldırmak için Zone.Identifier parametresini kullanır. Sonuç olarak, Get-Item cmdlet'i Zone.Identifier akışının silindiğini gösterir.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister. Daha fazla bilgi için aşağıdaki makalelere bakın:

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Cf

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Credential

Uyarı

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-Commandkullanın.

Parametre özellikleri

Tür:PSCredential
Default value:Current user
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer: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.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Exclude

Dize dizisi olarak, bu cmdlet'in işlemde hariç tutulduğu öğeyi veya öğeleri belirtir. Bu parametrenin değeri, Path parametresini niteler. *.txtgibi bir yol öğesi veya deseni girin. Joker karakterlere izin verilir. Exclude parametresi, yalnızca komut C:\Windows\*gibi bir öğenin içeriğini içerdiğinde geçerlidir; burada joker karakter C:\Windows dizininin içeriğini belirtir.

Yineleme ile Dışlakullanılırken, Dışla yalnızca geçerli dizinin sonuçlarını filtreler. Alt klasörlerde Dışla deseniyle eşleşen dosyalar varsa, bu dosyalar üst diziniyle birlikte kaldırılır.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-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özdizimini about_Wildcards'de bulabilirsiniz. Filtreler, sağlayıcı komut dosyası çalıştırma aracı nesneleri alırken bunları uyguladığı için, diğer parametrelerden daha verimlidir; bu sayede PowerShell nesneler alındıktan sonra bunları filtrelemek zorunda kalmaz.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-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. cmdletForce parametresini kullanarak bile güvenlik kısıtlamalarını geçersiz kılamaz.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Include

Dize dizisi olarak, bu cmdlet'in işleme dahil olduğu öğeyi veya öğeleri belirtir. Bu parametrenin değeri, Path parametresini niteler. "*.txt"gibi bir yol öğesi veya deseni girin. Joker karakterlere izin verilir. Include parametresi, yalnızca komut C:\Windows\*gibi bir öğenin içeriğini içerdiğinde ve joker karakteri C:\Windows dizininin içeriğini belirttiğinde etkilidir.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-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, yolu tek tırnak işaretleriyle çevreleyin. Tek tırnak işaretleri, PowerShell'in hiçbir karakteri kaçış dizisi olarak yorumlamamasını sağlar.

Daha fazla bilgi için bkz. about_Quoting_Rules.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:PSPath, LP

Parametre kümeleri

LiteralPath
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Path

Kaldırılan öğelerin yolunu belirtir. Joker karakterlere izin verilir.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

Path
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:True
Kalan bağımsız değişkenlerden elde edilen değer:False

-Recurse

Bu cmdlet'in belirtilen konumlardaki ve konumların tüm alt öğelerindeki öğeleri sildiğini gösterir.

Yineleme parametresi tüm alt klasörleri veya tüm alt öğeleri silmekte başarısız olabilir. Bu bilinen bir sorundur.

Uyarı

Bu davranış Windows 1909 ve daha yeni sürümlerde düzeltildi.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer: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 Yineleme parametresiyle birlikte kullanılamaz.

Remove-Item kullanarak Zone.Identifiergibi alternatif bir veri akışını silebilirsiniz. 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 Unblock-File cmdlet'ini kullanın.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur. Remove-Item, Windows PowerShell 7.2'den itibaren dizinlerden ve dosyalardan alternatif veri akışlarını kaldırabilir.

Daha fazla bilgi için bkz. about_FileSystem_Provider.

Parametre özellikleri

Tür:

String[]

Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-WhatIf

Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:Wi

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

String

Bu cmdlet'e bir yol içeren ancak kelime anlamıyla bir yol olmayan bir dize aktarabilirsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.

Notlar

PowerShell, Remove-Itemiçin aşağıdaki diğer adları içerir:

  • Tüm platformlar:
    • del
    • erase
    • rd
    • ri
  • Windows:
    • rm
    • rmdir

Remove-Item cmdlet'i 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 Get-PSProvideryazın. Daha fazla bilgi için bkz. about_Providers.

Yineleme parametresini kullanmadan öğeleri içeren bir klasörü silmeye çalıştığınızda, cmdlet onay ister. -Confirm:$false kullanılması istemi bastırmaz. Bu tasarım gereğidir.