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.Identifier
a .
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
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-Item
tartalmazza:
- 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.