Remove-Item
Elimina los elementos especificados.
Sintaxis
Path (valor predeterminado)
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
El cmdlet Remove-Item elimina uno o varios elementos.
Dado que es compatible con muchos proveedores, puede eliminar muchos tipos diferentes de elementos, incluidos archivos, carpetas, claves del Registro, variables, alias y funciones.
Ejemplos
Ejemplo 1: Eliminar archivos que tengan cualquier extensión de nombre de archivo
Este comando elimina todos los archivos que tienen nombres que incluyen un punto ('.') de la carpeta "C:\Test". Dado que el comando especifica un punto, el comando no elimina carpetas ni archivos que no tienen ninguna extensión de nombre de archivo.
Remove-Item C:\Test\*.*
Ejemplo 2: Eliminar algunos de los archivos de documento de una carpeta
Este comando elimina de la carpeta actual todos los archivos que tienen una extensión de nombre de archivo ".doc" y un nombre que no incluye 1. Usa el carácter comodín ('*') para especificar el contenido de la carpeta actual. Usa los parámetros Include y Exclude para especificar los archivos que se van a eliminar.
Remove-Item * -Include *.doc -Exclude *1*
Ejemplo 3: Eliminar archivos ocultos y de solo lectura
Este comando elimina un archivo que es ocultos y de solo lectura . Usa el parámetro path para especificar el archivo. Usa el parámetro Force para eliminarlo. Sin Force, no puede eliminar de solo lectura ni archivos ocultos.
Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
Ejemplo 4: Eliminación de archivos en subcarpetas de forma recursiva
Este comando elimina todos los archivos CSV de la carpeta actual y todas las subcarpetas de forma recursiva.
Dado que el parámetro Recurse en Remove-Item tiene un problema conocido, el comando de este ejemplo usa Get-ChildItem para obtener los archivos deseados y, a continuación, usa el operador de canalización para pasarlos a Remove-Item.
En el comando Get-ChildItem, Ruta de acceso tiene un valor de "*", que representa el contenido de la carpeta actual.
Usa incluir para especificar el tipo de archivo CSV y usa Recurse para que la recuperación sea recursiva.
Si intenta especificar el tipo de archivo la ruta de acceso, como -Path *.csv, el cmdlet interpreta el asunto de la búsqueda para que sea un archivo que no tenga elementos secundarios y error de recurse.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
Ejemplo 5: Eliminar subclaves de forma recursiva
Este comando elimina la clave del Registro "OldApp" y todas sus subclaves y valores.
Usa Remove-Item para quitar la clave.
Se especifica la ruta de acceso, pero se omite el nombre del parámetro opcional (Ruta de acceso).
El parámetro Recurse elimina todo el contenido de la clave "OldApp" de forma recursiva. Si la clave contiene subclaves y omite el parámetro Recurse, se le pedirá que confirme que desea eliminar el contenido de la clave.
Remove-Item HKLM:\Software\MyCompany\OldApp -Recurse
Ejemplo 6: Eliminación de archivos con caracteres especiales
En el ejemplo siguiente se muestra cómo eliminar archivos que contienen caracteres especiales como corchetes o paréntesis.
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
Ejemplo 7: Eliminación de un flujo de datos alternativo
En este ejemplo se muestra cómo usar el parámetro dinámico Stream del cmdlet Remove-Item para eliminar un flujo de datos alternativo. El parámetro stream se presenta en Windows PowerShell 3.0.
El primer comando usa el stream parámetro dinámico del cmdlet Get-Item para obtener el flujo de Zone.Identifier del archivo "Copy-Script.ps1".
El segundo comando usa el stream parámetro dinámico del cmdlet Remove-Item para quitar el flujo de Zone.Identifier del archivo.
El tercer comando usa el
El cuarto comando Get-Item cmdlet sin el parámetro Stream para comprobar que el archivo no se ha eliminado.
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
Parámetros
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Credential
Nota:
Este parámetro no es compatible con ningún proveedor instalado con PowerShell. Para suplantar a otro usuario o elevar las credenciales al ejecutar este cmdlet, use Invoke-Command.
Propiedades de parámetro
| Tipo: | PSCredential |
| Valor predeterminado: | Current user |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Exclude
Especifica los elementos que este cmdlet omite. El valor de este parámetro define el parámetro Path. Escriba un elemento o patrón de ruta de acceso, como *.txt. Se permite el uso de caracteres comodín.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Filter
Especifica un filtro en el formato o idioma del proveedor. El valor de este parámetro define el parámetro Path.
La sintaxis del filtro, incluido el uso de caracteres comodín, depende del proveedor. Los filtros son más eficaces que otros parámetros, ya que el proveedor los aplica cuando el cmdlet obtiene los objetos en lugar de que PowerShell filtre los objetos una vez recuperados.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Force
Obliga al cmdlet a quitar elementos que de lo contrario no se pueden cambiar, como archivos ocultos o de solo lectura o alias o variables de solo lectura. El cmdlet no puede quitar alias o variables constantes. La implementación varía de proveedor a proveedor. Para obtener más información, consulte about_Providers. Incluso con el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Include
Especifica los elementos que se van a eliminar. El valor de este parámetro define el parámetro Path. Escriba un elemento o patrón de ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-LiteralPath
Especifica una ruta de acceso de los elementos que se quitan. A diferencia del parámetro Path, el valor de LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | PSPath |
Conjuntos de parámetros
LiteralPath
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Path
Especifica una ruta de acceso de los elementos que se quitan. Se permite el uso de caracteres comodín.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
Path
| Posición: | 0 |
| Obligatorio: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Recurse
Indica que este cmdlet elimina los elementos en las ubicaciones especificadas y en todos los elementos secundarios de dichas ubicaciones.
Cuando se usa con el parámetro Include Get-ChildItem -Recurse para Remove-Item, como se describe en "Ejemplo 4" en este tema.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Stream
El parámetro Stream es un parámetro dinámico que el proveedor FileSystem agrega a Remove-Item.
Este parámetro solo funciona en unidades del sistema de archivos.
Puede usar Remove-Item para eliminar un flujo de datos alternativo.
Sin embargo, no es la manera recomendada de eliminar las comprobaciones de seguridad que bloquean los archivos que se descargan de Internet.
Si comprueba que un archivo descargado es seguro, use el cmdlet Unblock-File.
Este parámetro se introdujo en Windows PowerShell 3.0.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-UseTransaction
Incluye el comando en la transacción activa. Este parámetro solo es válido cuando una transacción está en curso. Para obtener más información, consulte about_Transactions
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | usetx |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
String
Puede pasar una cadena que contenga una ruta, pero no una ruta literal, a este cmdlet.
Salidas
None
Este cmdlet no genera resultados de ningún tipo.
Notas
El cmdlet Remove-Item está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PsProvider. Para obtener más información, consulte about_Providers.