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


Remove-Item

Törli a megadott elemeket.

Syntax

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

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 az összes olyan fájlt törli a . mappából, amely tartalmaz egy pont (C:\Test) nevű 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 olyan fájlt, amely .doc fájlkiterjesztéssel és olyan névvel rendelkezik, amely nem tartalmazza *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 meghatározásához a Befoglalás és Kizárás paramétereket használja.

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

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

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

A fájl megadásához a Path paramétert használja. A Force paramétert használja a törléshez. Erő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étere Remove-Item ismert problémával rendelkezik, a példában szereplő parancs a Get-ChildItem-t használja a kívánt fájlok lekéréséhez, majd a csővezeték operátor segítségével adja át őket Remove-Item-nek.

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

A Get-ChildItem parancsban Elérési út értéke (*), amely az aktuális mappa tartalmát jelöli. A CSV-fájltípus megadásához az Include, a beolvasást rekurzívvá tenni pedig az Recurse használatával lehet. Ha megpróbálja megadni a fájltípust az elérési útban, mint például -Path *.csv, a parancsmag úgy értelmezi, hogy a keresett fájl nem rendelkezik gyermekelemekkel, és a Recurse nem működik.

Megjegyzé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ához a Remove-Item-t használja. Az elérési út meg van adva, de a választható paraméter neve (Elérési út) nem lesz 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 különleges karaktereket, például szögletes zárójeleket vagy kerek 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 Remove-Item dinamikus paraméterét használni egy másik 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 megszerzi a Zone.Identifier fájl Copy-Script.ps1 adatfolyamát. Remove-Item a Stream paramétert használja a fájl Zone.Identifier streamjének eltávolításához. Végül a Get-Item parancsmag azt mutatja, hogy a Zone.Identifier stream törölve lett.

Paraméterek

-Confirm

Megerősítést kér a parancsmag futtatása előtt. További információkért lásd a következő cikkeket:

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Cf

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Credential

Megjegyzés:

Ezt a paramétert a PowerShell-lel telepített szolgáltatók nem támogatják. Ha egy másik felhasználó szerepében szeretne fellépni, vagy emelni szeretné hitelesítő adatait a parancsmag futtatásakor, használja a Invoke-Command.

Paramétertulajdonságok

Típus:PSCredential
Alapértelmezett érték:Current user
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-DeleteKey

Ez egy dinamikus paraméter, amelyet a tanúsítványszolgáltató elérhetővé tett. 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óért lásd a about_Certificate_Providerrészt.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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 a 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\*, ahol a helyettesítő karakter a C:\Windows könyvtár tartalmát adja meg.

Ha a Recurse parancsot a Kizárásparancs mellett 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ákban a Kizárás mintájának, azokat a fájlokat a szülőkönyvtárukkal együtt eltávolítják.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Filter

Szűrőt ad meg a útvonal paraméter minősítéséhez. A Fájlrendszer szolgáltató az egyetlen telepített PowerShell-szolgáltató, amely támogatja a szűrők használatát. A FileSystem szűrőnyelvének szintaxisát az about_Wildcards-ban találhatja meg. 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.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-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óért lásd a about_Providerscímű részt. A parancsmag még a Force paraméter használatával sem tudja felülbírálni a biztonsági korlátozásokat.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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 a 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\*, ahol a helyettesítő karakter a C:\Windows könyvtár tartalmát adja meg.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-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 útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.

További információk az about_Quoting_Rules oldalon találhatók: .

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:PSPath, LP

Paraméterkészletek

LiteralPath
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Path

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

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

Path
Position:0
Kötelező:True
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Recurse

Azt jelzi, hogy ez a parancsmag eltávolítja az elemeket a megadott helyeken, valamint a helyek összes alárendelt elemében.

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

Megjegyzés:

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

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Stream

Ez a FileSystem 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.

A Remove-Item használatával törölhet egy másik adatfolyamot, például Zone.Identifier. Az internetről letöltött fájlokat blokkoló biztonsági ellenőrzések megszüntetése azonban nem ajánlott. 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 kezdve Remove-Item eltávolíthat alternatív adatfolyamokat a könyvtárakból és fájlokból.

Lásd about_FileSystem_Providera további információkért.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-WhatIf

Megjeleníti, mi történne, ha a parancsmag futna. A parancsprogram nem lett futtatva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Wi

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

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 tartalmazza Remove-Item:

  • 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 Get-PSProvider. További információért lásd a about_Providerscímű részt.

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 -Confirm:$false használata nem szünteti meg az utasítást. Ez szándékosan van így.