PowerShell: Cómo eliminar un archivo si existe
Puede utilizar los siguientes métodos en PowerShell para eliminar un archivo solo si existe:
Método 1: eliminar un archivo si existe
$file_name = "this_data.txt"
if (Test-Path $file_name) {
Remove-Item $file_name -verbose
} else {
Write-Host "File does not exist"
}Este ejemplo en particular elimina el archivo denominado this_data.txt solo si existe en el directorio actual. Si no existe, se muestra el mensaje "El archivo no existe".
Método 2: eliminar varios archivos si existen
$file_names = "this_data.txt", "that_data.txt", "my_data.txt"
foreach($name in $file_names)
{
if (Test-Path $name) {
Remove-Item $name -verbose
} else {
Write-Host "File does not exist"
}
}Este ejemplo en particular elimina los archivos denominados this_data.txt, that_data.txt y my_data.txt solo si existen en el directorio actual.
Para cada archivo, esta sintaxis elimina el archivo o muestra un mensaje que indica que el archivo no existe.
Los siguientes ejemplos muestran cómo utilizar cada método en la práctica.
Ejemplo 1: eliminar un archivo si existe usando PowerShell
Supongamos que nuestro directorio actual tiene la siguiente ruta:
C:\Users\bobbi\OneDrive\Documents\test_dataPodemos escribir Dir para enumerar todos los archivos en este directorio actual:
Podemos ver que hay tres archivos en el directorio:
- mis_datos.txt
- mis_nuevos_datos.txt
- algunos_datos_antiguos.txt
Supongamos que queremos intentar eliminar un archivo llamado this_data.txt solo si existe.
Podemos utilizar la siguiente sintaxis para hacerlo:
$file_name = "this_data.txt"
if (Test-Path $file_name) {
Remove-Item $file_name -verbose
} else {
Write-Host "File does not exist"
}La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Dado que este archivo no existe, recibimos un mensaje que dice "El archivo no existe".
Supongamos en cambio que intentamos eliminar un archivo llamado my_data.txt:
Dado que este archivo existe, podemos eliminarlo correctamente.
Y cuando ejecutamos el comando Dir nuevamente, podemos ver que el archivo ya no existe en el directorio.
Ejemplo 2: eliminar varios archivos si existen usando PowerShell
Supongamos que nuestro directorio actual tiene la siguiente ruta:
C:\Users\bobbi\OneDrive\Documents\test_dataPodemos escribir Dir para enumerar todos los archivos en este directorio actual:
Supongamos que nos gustaría intentar eliminar los siguientes archivos del directorio:
- este_dato.txt
- ese_dato.txt
- mis_datos.txt
Podemos utilizar la siguiente sintaxis para hacerlo:
$file_names = "this_data.txt", "that_data.txt", "my_data.txt"
foreach($name in $file_names)
{
if (Test-Path $name) {
Remove-Item $name -verbose
} else {
Write-Host "File does not exist"
}
}
La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
De la salida podemos ver:
- this_data.txt no existe, por lo que recibimos el mensaje "El archivo no existe".
- that_data.txt no existe, por lo que recibimos el mensaje "El archivo no existe".
- my_data.txt existe, por lo que se elimina.
Luego ejecutamos el comando Dir una vez más para confirmar que my_data.txt se eliminó del directorio mientras que todos los demás archivos quedaron intactos.



