Megosztás a következőn keresztül:


Remove-Item

Törli a megadott elemeket.

Syntax

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>]

Description

A Remove-Item parancsmag egy vagy több elemet töröl. Mivel számos szolgáltató támogatja, számos különböző elemtípust törölhet, például fájlokat, mappákat, beállításkulcsokat, változókat, aliasokat és függvényeket.

Példák

1. példa: Fájlkiterjesztéssel rendelkező fájlok törlése

Ez a példa törli a mappából C:\Test a pont (.) elemet tartalmazó összes fájlt. Mivel a parancs pontokat ad meg, a parancs nem törli a fájlkiterjesztéssel nem rendelkező mappákat vagy fájlokat.

Remove-Item C:\Test\*.*

2. példa: Dokumentumfájlok törlése egy mappában

Ez a példa törli az aktuális mappából az összes fájlt, amely fájlkiterjesztéssel .doc és olyan névvel rendelkezik, amely nem tartalmazza a fájlt *1*.

Remove-Item * -Include *.doc -Exclude *1*

A helyettesítő karakter (*) használatával adja meg az aktuális mappa tartalmát. A törölni kívánt fájlok megadásához a Belefoglalás és kizárás paramétereket használja.

3. példa: Rejtett, írásvédett fájlok törlése

Ez a parancs egy rejtett és írásvédett fájlt töröl.

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

A fájl megadásához az Elérési út paramétert használja. A Force paramétert használja a törléshez. Kényszerítés nélkül nem törölhet írásvédett vagy rejtett fájlokat.

4. példa: Fájlok törlése az almappákban rekurzív módon

Ez a parancs az aktuális mappában lévő összes CSV-fájlt és az összes almappát rekurzív módon törli.

Mivel a Recurse paraméterben ismert probléma van, a példában Remove-Item szereplő parancs a kívánt fájlok lekérésére, Get-ChildItem majd a folyamatkezelő használatával adja át őket Remove-Item.

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

A parancsban az Get-ChildItem Elérési út értéke (*), amely az aktuális mappa tartalmát jelöli. Az Include használatával adja meg a CSV-fájltípust, a Recurse használatával pedig rekurzívvá teszi a lekérést. Ha megkísérli megadni a fájltípust az elérési úton, például -Path *.csv, a parancsmag úgy értelmezi a keresés tárgyát, hogy egy olyan fájl legyen, amely nem tartalmaz gyermekelemeket, és a Recurse meghiúsul.

Feljegyzés

Ezt a viselkedést a Windows 1909-ben és újabb verzióiban javítottuk.

5. példa: Alkulcsok rekurzív törlése

Ez a parancs törli az "OldApp" beállításkulcsot és annak összes alkulcsát és értékét. A kulcs eltávolítására használja Remove-Item . Az elérési út meg van adva, de a választható paraméternév (Elérési út) nincs megadva.

A Recurse paraméter rekurzív módon törli az "OldApp" kulcs összes tartalmát. Ha a kulcs alkulcsokat tartalmaz, és kihagyja a Recurse paramétert , a rendszer kérni fogja, hogy törölje a kulcs tartalmát.

Remove-Item HKLM:\Software\MyCompany\OldApp -Recurse

6. példa: Speciális karaktereket tartalmazó fájlok törlése

Az alábbi példa bemutatja, hogyan törölhet speciális karaktereket, például zárójeleket vagy zárójeleket tartalmazó fájlokat.

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

7. példa: Alternatív adatfolyam eltávolítása

Ez a példa bemutatja, hogyan lehet a parancsmag Stream dinamikus paraméterét Remove-Item használni egy alternatív adatfolyam törléséhez. A streamparaméter a Windows PowerShell 3.0-ban van bevezetve.

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'.

A Stream paraméter Get-Item lekéri a Zone.Identifier fájl adatfolyamát Copy-Script.ps1 . Remove-Item a Stream paraméter használatával távolítja el a Zone.Identifier fájl adatfolyamát. Végül a Get-Item parancsmag azt mutatja, hogy a Zone.Identifier stream törölve lett.

Paraméterek

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt. További információért tekintse át az alábbi cikkeket:

Típus:SwitchParameter
Aliasok:cf
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Credential

Feljegyzés

Ezt a paramétert a PowerShell-lel telepített szolgáltatók nem támogatják. Ha megszemélyesíteni szeretne egy másik felhasználót, vagy a parancsmag futtatásakor emeli a hitelesítő adatait, használja az Invoke-Command parancsot.

Típus:PSCredential
Position:Named
Alapértelmezett érték:Current user
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-DeleteKey

Ez a tanúsítványszolgáltató által elérhetővé tett dinamikus paraméter. A tanúsítványszolgáltató és ez a paraméter csak Windows-platformokon érhető el.

Ha meg van adva, a parancsmag törli a titkos kulcsot a tanúsítvány törlésekor.

További információ: about_Certificate_Provider.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Exclude

Sztringtömbként olyan elemet vagy elemeket határoz meg, amelyeket ez a parancsmag kizár a műveletből. Ennek a paraméternek az értéke az Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt. A helyettesítő karakterek használata engedélyezett. A Kizárás paraméter csak akkor érvényes, ha a parancs egy elem tartalmát tartalmazza, például C:\Windows\*ha a helyettesítő karakter a könyvtár tartalmát C:\Windows adja meg.

Ha a Recurse with Exclude (Kizárás) lehetőséget használja, a Kizárás csak az aktuális könyvtár eredményeit szűri. Ha vannak olyan fájlok, amelyek megfelelnek az almappák kizárási mintájának, a rendszer eltávolítja ezeket a fájlokat a szülőkönyvtárával együtt.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-Filter

Egy szűrőt ad meg, amely megfelel az Elérési út paraméternek. A Fájlrendszer-szolgáltató az egyetlen telepített PowerShell-szolgáltató, amely támogatja a szűrők használatát. A Fájlrendszer szűrőnyelvének szintaxisa about_Wildcards található. A szűrők hatékonyabbak, mint a többi paraméter, mivel a szolgáltató akkor alkalmazza őket, amikor a parancsmag lekéri az objektumokat, és nem azt, hogy a PowerShell szűrje az objektumokat a lekérés után.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-Force

Kényszeríti a parancsmagot, hogy eltávolítsa az egyébként nem módosítható elemeket, például rejtett vagy írásvédett fájlokat, írásvédett aliasokat vagy változókat. A parancsmag nem tudja eltávolítani az állandó aliasokat vagy változókat. A megvalósítás szolgáltatónként eltérő. További információ: about_Providers. A Parancsmag még a Force paraméter használatával sem tudja felülbírálni a biztonsági korlátozásokat.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Include

Sztringtömbként egy elemet vagy elemet határoz meg, amelyet ez a parancsmag tartalmaz a műveletben. Ennek a paraméternek az értéke az Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például "*.txt". A helyettesítő karakterek használata engedélyezett. Az Include paraméter csak akkor érvényes, ha a parancs egy elem tartalmát tartalmazza, például C:\Windows\*amikor a helyettesítő karakter a könyvtár tartalmát C:\Windows adja meg.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-LiteralPath

Egy vagy több hely elérési útját adja meg. A LiteralPath értékét pontosan a beírt módon használja a rendszer. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz escape karaktereket, csatolja egy idézőjelek közé. Az idézőjelek azt mondják a PowerShellnek, hogy ne értelmezzen karaktereket feloldósorozatként.

További információ: about_Quoting_Rules.

Típus:String[]
Aliasok:PSPath, LP
Position:Named
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Path

Megadja az eltávolított elemek elérési útját. A helyettesítő karakterek használata engedélyezett.

Típus:String[]
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:True

-Recurse

Azt jelzi, hogy ez a parancsmag törli az elemeket a megadott helyeken és a helyek összes gyermekelemében.

Előfordulhat, hogy a Recurse paraméter nem törli az összes almappát vagy az összes gyermekelemet. Ez egy ismert probléma.

Feljegyzés

Ezt a viselkedést kijavítottuk a Windows 1909-ben és újabb verzióiban.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Stream

Ez a fájlrendszer-szolgáltató által elérhetővé tett dinamikus paraméter. Ez a paraméter csak Windows rendszeren érhető el. Ez a paraméter nem használható a Recurse paraméterrel együtt.

Remove-Item Egy másik adatfolyam, például Zone.Identifiera . Az internetről letöltött fájlokat letiltó biztonsági ellenőrzések azonban nem ajánlottak. Ha ellenőrzi, hogy egy letöltött fájl biztonságos-e, használja a Unblock-File parancsmagot.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be. A Windows PowerShell 7.2-től Remove-Item kezdve eltávolíthatja az alternatív adatfolyamokat a könyvtárakból és a fájlokból.

További információ: about_FileSystem_Provider.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:True

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Típus:SwitchParameter
Aliasok:wi
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

String

Ehhez a parancsmaghoz egy elérési utat tartalmazó, de nem literális elérési utat tartalmazó sztringet csövezhet.

Kimenetek

None

Ez a parancsmag nem ad vissza kimenetet.

Jegyzetek

A PowerShell a következő aliasokat Remove-Itemtartalmazza:

  • Minden platform:
    • del
    • erase
    • rd
    • ri
  • Windows:
    • rm
    • rmdir

A Remove-Item parancsmag úgy lett kialakítva, hogy bármely szolgáltató által közzétett adatokkal működjön együtt. A munkamenetben elérhető szolgáltatók listájához írja be a következőt Get-PsProvider: További információ: about_Providers.

Ha olyan mappát próbál törölni, amely elemeket tartalmaz a Recurse paraméter használata nélkül, a parancsmag megerősítést kér. A használat -Confirm:$false nem tiltja le a kérést. Ez az elvárt működés.