Búsqueda de sitios web

Eliminar archivo de PowerShell | Implementación de PowerShell Eliminar archivo


Introducción a la eliminación de archivos de PowerShell

En PowerShell Eliminar archivo, para eliminar elementos en PowerShell se puede usar el cmdlet Remove-Item. Este cmdlet se utiliza no sólo para eliminar archivos sino también carpetas, funciones, claves de registro, etc. Uno de los trabajos más importantes de un administrador del sistema es garantizar que haya suficiente espacio en la unidad y este proceso se conoce como limpieza. Este tipo de actividades se pueden automatizar mediante un script que eliminará archivos según determinadas condiciones. Este artículo cubrirá en detalle cómo se pueden eliminar los archivos usando el cmdlet Remove-Item y cómo se puede automatizar.

Sintaxis

A continuación se muestra la sintaxis de PowerShell Eliminar archivo:

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

Parámetros

A continuación se muestran los parámetros:

Confirmar: se muestra una afirmación al cliente antes de ejecutar el cmdlet. El tipo de información de este parámetro es un interruptor. Se alude con el nombre supuesto cf. La estimación predeterminada es ninguna. El parámetro no reconoce la entrada de la canalización y, además, no se permiten caracteres comodín.

Excluir: Los valores proporcionados para este parámetro no se tendrán en cuenta al ejecutar el cmdlet. Generalmente se considera como el valor del parámetro de ruta. Permite pasar caracteres comodín. Esto solo se puede usar cuando el cmdlet se ejecuta con un comodín y no para un archivo o elemento específico. El tipo de información de este parámetro es String[]. La estimación predeterminada es ninguna. El parámetro no reconoce la entrada de la canalización, mientras que se permiten caracteres comodín.

Filtro: se utiliza para filtrar los objetos contra los cuales se puede ejecutar el cmdlet. Esto es eficiente porque aplica el filtro al principio en lugar de después de recuperar todos los objetos. El tipo de información de este parámetro es String. La estimación predeterminada es ninguna. El parámetro no reconoce la entrada de la canalización, mientras que se permiten caracteres comodín.

Forzar: permite al cmdlet eliminar elementos que no se pueden cambiar, como registros ocultos o de solo lectura, o nombres de archivo o factores de solo lectura. El cmdlet no puede eliminar variables y alias que tengan valores constantes. La implementación difiere según el proveedor. De hecho, al utilizar el parámetro Drive, el cmdlet no puede anular las limitaciones de seguridad. El tipo de información de este parámetro es el interruptor. La estimación predeterminada es ninguna. El parámetro no reconoce la entrada de canalización y no se permiten caracteres comodín.

Incluir: Los valores proporcionados para este parámetro solo se considerarán al ejecutar el cmdlet. Esto significa que los objetos representados únicamente por este parámetro no se eliminarán. Esto solo se puede usar cuando el cmdlet se ejecuta con un comodín y no para un archivo o elemento específico. El tipo de información de este parámetro es String[]. La estimación predeterminada es ninguna. El parámetro no reconoce la entrada de la canalización, mientras que se permiten caracteres comodín.

LiteralPath: Indica un camino a una o más ubicaciones. El valor de LiteralPath se utiliza precisamente porque está escrito. Se utilizan comillas simples para diferenciar las secuencias de escape. Se debe proporcionar el valor de este parámetro tal como aparece en sus propiedades. El tipo de información de este parámetro es String[]. Se alude con los nombres supuestos PSPath y LP. La estimación predeterminada es ninguna. El parámetro reconoce la entrada de canalización y no se permiten caracteres comodín.

Ruta: Se refiere a la ruta en la que se encuentran los elementos a eliminar. El tipo de información de este parámetro es String[]. La estimación predeterminada es ninguna. El parámetro reconoce la entrada de canalización y también se permiten caracteres comodín.

Recurse: Si la ruta especificada tiene algunas carpetas y subcarpetas, esto indica que esos elementos secundarios también deben considerarse al realizar la operación. Sin embargo, esto no funciona bien con el parámetro de inclusión, que es conocido. El tipo de información de este parámetro es un interruptor. La estimación predeterminada es ninguna. El parámetro no reconoce la entrada de la canalización y tampoco se permiten caracteres comodín.

Secuencia: este parámetro solo se usa dentro de las unidades del sistema de archivos. El tipo de información de este parámetro es una cadena []. La estimación predeterminada es ninguna. El parámetro no reconoce la entrada de la canalización, mientras que se permiten caracteres comodín.

Ejemplos para implementar la eliminación de archivos de PowerShell

A continuación se muestran los ejemplos mencionados:

Ejemplo #1

Código:

Write-Host "Deleting a single file"
#Remove-Item -Path "C:\Vignesh\Test\AD Group export to csv.txt"
Write-Host "File deleted" -ForegroundColor Green
Write-Host "delting files except some files of a particular type"
#Remove-Item -Path "C:\Vignesh\Test\*" -Exclude *.csv
Write-Host "Files other than csv files are deleted" -ForegroundColor Green
Write-Host "Deleting hidden file"
#Remove-Item -Path "C:\vignesh\Test\Path.csv" -Force
Write-Host "Hidden file is deleted" -ForegroundColor Green
Write-Host "Deleting files using recurse option"
#Remove-Item -Path "C:\vignesh\Test" -Recurse
Write-Host "All the files and folders are deleted successfully" -ForegroundColor Green
Write-Host "Removing specific items using include"
#Remove-Item -Path "C:\Vignesh\New folder\*" -Include *.png
Write-Host "Only the png files are deleted" -ForegroundColor Green

Salida:

Ejemplo #2

Automatizar archivos a eliminar:

Código:

Write-Host"Deleting files greater than 60 days"
Get-ChildItem-Path"C:\logs"-Recurse|Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-60))} |Remove-Item
Write-Host"File deleted"-ForegroundColorGreen
Write-Host"Deleting files that are greater than 1000 mb"
$path="C:\vignesh\logs"
$allowedsize=1000
$fsize= (Get-ChildItem$path|Measure-Object-propertylength-sum)
$Sizeinmb="{0:N2}"-f ($fsize.sum /1MB) +"MB"
if ($Sizeinmb-ge$allowedsize) {
Get-ChildItem$path-Recurse|Remove-Item-Force
Write-Host"File deleted"-ForegroundColorGreen
}

Salida:

Explicación: La secuencia de comandos anterior elimina archivos que tienen más de 60 días y archivos que tienen más de 1000 MB. El script anterior se puede automatizar para que se ejecute diariamente creando una tarea en el programador de tareas.

Conclusión

Por lo tanto, el artículo explica en detalle cómo eliminar archivos en PowerShell. También explicó los distintos escenarios de inclusión y exclusión que se pueden utilizar al eliminar archivos. También mostró cómo automatizar la operación de eliminación utilizando un script y un programador de tareas. Para obtener más información en detalle, es recomendable escribir programas de muestra y practicarlos.

Artículos relacionados