Remove-Item
Odstraní zadané položky.
Syntax
Path (Výchozí)
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
LiteralPath
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-Stream <String[]>]
[<CommonParameters>]
Description
Příkaz Remove-Item odstraní jednu nebo více položek.
Protože ho podporuje mnoho poskytovatelů, může odstranit mnoho různých typů položek, včetně souborů, složek, klíčů registru, proměnných, aliasů a funkcí.
Příklady
Příklad 1: Odstranění souborů, které mají příponu názvu souboru
Tento příkaz odstraní všechny soubory, které obsahují tečku (.) ze složky C:\Test. Protože příkaz určuje tečku, příkaz neodstraní složky ani soubory, které nemají příponu názvu souboru.
Remove-Item C:\Test\*.*
Příklad 2: Odstranění některých souborů dokumentu ve složce
Tento příkaz odstraní z aktuální složky všechny soubory, které mají příponu názvu souboru ".doc" a název, který neobsahuje hodnotu 1. Pomocí zástupného znaku (*) určuje obsah aktuální složky. Používá parametry Include a Exclude k určení souborů, které se mají odstranit.
Remove-Item * -Include *.doc -Exclude *1*
Příklad 3: Odstranění skrytých souborů jen pro čtení
Tento příkaz odstraní soubor, který je skrytý i jen pro čtení . K zadání souboru používá parametr Path. K odstranění používá parametr Force. Bez Vynucenínelze odstranit jen pro čtení nebo skryté soubory.
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
Příklad 4: Rekurzivní odstranění souborů v podsložkách
Tento příkaz odstraní všechny soubory CSV v aktuální složce a všechny podsložky rekurzivně.
Vzhledem k tomu, že parametr Recurse v Remove-Item má známý problém, příkaz v tomto příkladu používá Get-ChildItem k tomu, aby získal požadované soubory, a poté je pomocí operátoru kanálu předá do Remove-Item.
V příkazu Get-ChildItem má Cesta hodnotu *, která představuje obsah aktuální složky.
K určení typu souboru CSV používá Include a k rekurzivnímu načtení používá Recurse.
Pokud se pokusíte zadat typ souboru cestu, například -Path *.csv, rutina interpretuje předmět hledání jako soubor, který neobsahuje podřízené položky, a Recurse selže.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
Příklad 5: Rekurzivní odstranění podklíčů
Tento příkaz odstraní klíč registru OldApp a všechny jeho podklíče a hodnoty.
Používá Remove-Item k odebrání klíče.
Je zadána cesta, ale volitelný název parametru (Cesta) je vynechán.
Parametr Recurse rekurzivně odstraní veškerý obsah klíče OldApp. Pokud klíč obsahuje podklíče a vynecháte parametr Recurse, zobrazí se výzva k potvrzení, že chcete odstranit obsah klíče.
Remove-Item HKLM:\Software\MyCompany\OldApp -Recurse
Příklad 6: Odstranění souborů se speciálními znaky
Následující příklad ukazuje, jak odstranit soubory, které obsahují speciální znaky, jako jsou hranaté nebo kulaté závorky.
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
Příklad 7: Odebrání alternativního datového proudu
Tento příklad ukazuje, jak pomocí dynamického parametru Stream rutiny Remove-Item odstranit alternativní datový proud. Parametr streamu se zavádí ve Windows PowerShellu 3.0.
První příkaz pomocí dynamického parametru Stream rutiny Get-Item získá datový proud Zone.Identifier souboru "Copy-Script.ps1".
Druhý příkaz pomocí dynamického parametru
Třetí příkaz používá dynamický parametr Stream rutiny Get-Item k ověření odstranění datového proudu Zone.Identifier.
Čtvrtý příkaz Get-Item rutinu bez parametru Stream k ověření, že soubor není odstraněn.
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
+ [!INCLUDE[]()][!INCLUDE[]()][!INCLUDE[]()][!INCLUDE[]()][!INCLUDE[]()]~~
+ CategoryInfo : ObjectNotFound: (C:\Test\Copy-Script.ps1:String) [Get-Item], FileNotFoundE
xception
+ FullyQualifiedErrorId : AlternateDataStreamNotFound,Microsoft.PowerShell.Commands.GetItemCommand
Get-Item C:\Test\Copy-Script.ps1
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 8/4/2011 11:15 AM 9436 Copy-Script.ps1
Parametry
-Confirm
Před spuštěním cmdletu vás vyzve k potvrzení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | viz |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Credential
Poznámka:
Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými v PowerShellu. Pokud chcete zosobnit jiného uživatele nebo zvýšit oprávnění při spuštění této rutiny, použijte Invoke-Command.
Vlastnosti parametru
| Typ: | PSCredential |
| Default value: | Current user |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Exclude
Určuje položky, které tento cmdlet opomene. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například *.txt. Jsou povoleny zástupné znaky.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Filter
Určuje filtr ve formátu nebo jazyce poskytovatele. Hodnota tohoto parametru kvalifikuje parametr Path.
Syntaxe filtru, včetně použití zástupných znaků, závisí na poskytovateli. Filtry jsou efektivnější než jiné parametry, protože je poskytovatel použije, když rutina získá objekty místo toho, aby objekty po jejich načtení vyfiltroval PowerShell.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Force
Vynutí rutinu odebrat položky, které nelze jinak změnit, jako jsou skryté nebo jen pro čtení nebo aliasy nebo proměnné jen pro čtení. Rutina nemůže odebrat konstantní aliasy ani proměnné. Implementace se liší od zprostředkovatele po zprostředkovatele. Pro více informací viz about_Providers. I při použití parametru Force nemůže rutina přepsat omezení zabezpečení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Include
Určuje položky, které se mají odstranit. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné znaky.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-LiteralPath
Určuje cestu k odebraným položkám. Na rozdíl od parametru Path se hodnota LiteralPath používá přesně tak, jak je zadána. Žádný znak není interpretován jako zástupný znak. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | PSPath |
Sady parametrů
LiteralPath
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Path
Určuje cestu k odebraným položkám. Jsou povoleny zástupné znaky.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
Path
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Recurse
Označuje, že tato rutina odstraní položky v zadaných umístěních a ve všech podřízených položkách těchto umístění.
Při použití s parametrem Include nemusí parametr Recurse odstranit všechny podsložky nebo všechny podřízené položky.
Jedná se o známý problém.
Jako alternativní řešení zkuste výsledky příkazu Get-ChildItem -RecurseRemove-Item, jak je popsáno v příkladu 4 v tomto tématu.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Stream
Parametr Stream je dynamický parametr, který zprostředkovatel FileSystem přidává do Remove-Item.
Tento parametr funguje jenom na jednotkách systému souborů.
K odstranění alternativního datového streamu můžete použít Remove-Item.
Není to však doporučený způsob, jak eliminovat kontroly zabezpečení, které blokují soubory stažené z internetu.
Pokud ověříte, že je stažený soubor v bezpečí, použijte rutinu Unblock-File.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-UseTransaction
Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | usetx |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-WhatIf
Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Wi |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Můžete předat řetězec, který obsahuje cestu, ale ne doslovnou cestu, do tohoto příkazu.
Výstupy
None
Tato rutina nevrací žádný výstup.
Poznámky
Rutina Remove-Item je navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem. Chcete-li zobrazit seznam poskytovatelů dostupných ve vaší relaci, napište Get-PsProvider. Pro více informací viz about_Providers.