Header Ads Widget

Ticker

6/recent/ticker-posts

Si está tratando de eliminar un elemento en particular, independientemente del tipo de archivo, primero deberá verificar si existe o no. De lo contrario, es probable que encuentre un error inesperado.

Aunque verificar y eliminar archivos es relativamente fácil con la GUI de Windows, aún debe navegar a varias ventanas solo para eliminar un solo archivo. Por otro lado, Powershell te permite hacer la misma tarea usando comandos simples y cortos.

Bueno, simplemente puede usar el cmdlet Remove-Item para eliminar un archivo específico de la ruta dada. Sin embargo, hay varios comandos y una gran cantidad de métodos para verificar si el elemento que está tratando de eliminar existe o no.

Con respecto a lo mismo, este artículo lo guiará con los diversos comandos y técnicas útiles para verificar y eliminar los archivos existentes en Windows Powershell.

¿Cómo verificar y eliminar un archivo existente en Powershell?

Windows Powershell es un terminal que permite a los usuarios automatizar tareas utilizando lenguajes de secuencias de comandos. Por lo tanto, crear, leer, actualizar o eliminar archivos con esta utilidad es fácil de entender e implementar.

Probablemente, ha intentado verificar si existe un archivo en Bash, Símbolo del sistema y GUI de Windows. Ahora, en esta sección, aprenderá diferentes comandos para hacerlo en Powershell y eliminarlo si es necesario.

Uso de ruta de prueba

Test-Path es un comando que determina si existe la ruta/dirección proporcionada. Básicamente, ejecutar este cmdlet en Powershell genera una expresión booleana . Aquí, True indica que el archivo al que intenta acceder existe y False significa que no existe. A continuación se muestra la sintaxis de Test-Path:
Test-Path <Path>

Por ejemplo, para verificar si el archivo "texto.txt" existe dentro del directorio Documentos y eliminarlo, esto es lo que puede hacer:

  1. En la ventana de Powershell, copie y pegue el siguiente comando:
    Test-Path Documents\text.txt
  2. Ahora, presione enter, y debería obtener el valor 'Verdadero' si existe.
    ruta de prueba verdadera
    De lo contrario, obtendrá el valor 'Falso' como se muestra a continuación.
    ruta de prueba falsa
  3. Si existe, ahora puede usar el siguiente comando para eliminar el archivo:
    Remove-Item Documents\text.txt
    la ruta de prueba elimina el éxito del elemento
    Sin embargo, si intenta eliminar el archivo que no existe, recibirá un mensaje de error como el siguiente.
    ruta de prueba eliminar error de elemento

Si no prefiere las expresiones booleanas, puede usar las declaraciones if y else para generar mensajes reales. Además, escribir este código simple lo ayudará a eliminar el archivo existente sin tener que ejecutar varios comandos:

$MyFile = "Documents\text.txt"
if (Test-Path $MyFile) {
Remove-Item $MyFile
Write-Host "The file was found and has been deleted successfully."
}
else
{
Write-Host "The file you're searching for doesn't exist."
}

En el código anterior, básicamente representamos la ubicación mediante la variable MyFile. Ahora, if (Test-Path $MyFile) determina si la ruta existe o no . 

Si es así, aparecerá el mensaje "El archivo se encontró y se eliminó correctamente". y el Remove-Item $MyFilecomando elimina su archivo.
la ruta de prueba existe y se eliminó
Para asegurarse de esto, puede usar de Test-Path Documents\text.txtnuevo, y debería obtener el resultado Falso.

Sin embargo, si el archivo no existe, simplemente encontrará el mensaje "El archivo que está buscando no existe". mensaje en lugar del error No se puede encontrar la ruta como antes.
ruta de prueba no existe

Uso de Obtener elemento

Usar Get-Item es tan simple como usar Test-Path. Sin embargo, este cmdlet no determina si existe un archivo mediante expresiones booleanas. En su lugar, muestra el modo de su archivo, la última hora de escritura, la longitud y el nombre, junto con su tipo . A continuación se muestra la sintaxis de Get-Item:
Get-Item <Path>

Siga las instrucciones a continuación para saber cómo identificar y eliminar un archivo existente mediante el cmdlet Get-Item. Para fines de demostración, eliminaremos un archivo de imagen “ image.bmp” del directorio Documentos:

  1. Después de iniciar Powershell, pegue el siguiente comando:
    Get-Item Documents\image.bmp
  2. Presiona Enter y obtendrás los detalles del archivo si el archivo existe.
    obtiene el objeto
    De lo contrario, encontrará el error No se puede encontrar la ruta.
    obtener el elemento no puede encontrar la ruta
  3. Si el archivo existe, ahora use el siguiente comando para eliminarlo del directorio:
    Remove-Item Documents\image.bmp
    obtener elemento quitar elemento éxito
    Pero si el archivo no existe e intenta eliminarlo, volverá a encontrar el error No se puede encontrar la ruta.
    eliminar elemento no puede encontrar la ruta

Bueno, también puede usar el siguiente programa para verificar y eliminar un archivo existente en Powershell usando Get-Item:

$MyFile = "Documents\image.bmp"
if(Get-Item $MyFile -ErrorAction Ignore)
{
Remove-Item $MyFile
Write-Host "The file was found and has been deleted successfully."
}
else
{
Write-Host "The file you're searching for doesn't exist and can’t be deleted."
}

En el script anterior, primero hemos asignado una variable MyFile que almacena la ruta del image.bmparchivo. Luego, establecemos la condición if como Get-Item $MyFile -ErrorAction Ignore, donde Get-Item $MyFile obtiene el elemento de la ubicación y ErrorAction Ignoredescartará el error si el archivo no existe.

Básicamente, si su archivo existe, obtendrá el mensaje " El archivo se encontró y se eliminó correctamente " y el elemento se eliminará.
obtener elemento existente y eliminado
De lo contrario, encontrará "El archivo que está buscando no existe y no se puede eliminar".
obtener el elemento no existe

Nota: También puede usar el cmdlet Get-ChildItem en lugar de Get-Item. Ambos comandos funcionan exactamente igual.

Usando [System.IO.File]::Exists

System.IOse ocupa de leer y escribir en los archivos de la biblioteca de clases de .NET Framework. Usando el espacio de nombres, podemos determinar rápidamente si existe un archivo. Luego, usando el Remove-Itemcmdlet, también es posible la eliminación. 

Al igual que Test-Path, el comando [System.IO.File]::Exists también arroja una expresión booleana para determinar si un archivo existe o no. Esta es la sintaxis del [System.IO.File]::Existscmdlet:
[System.IO.File]::Exists(“<Path>”)

Para una demostración, verifiquemos si existe un archivo de MS Word 'word.docx' en el directorio del documento y eliminemos este elemento:

  1. Ejecute el siguiente cmdlet en la ventana de Powershell:
    [System.IO.File]::Exists("Documents\word.docx")
  2. Ahora, Powershell devuelve True si el archivo existe.
    el archivo io del sistema existe cierto
    De lo contrario, la salida es Falsa.
    el archivo io del sistema existe falso
  3. Si el archivo que está buscando existe, use el siguiente comando para eliminarlo:
    Remove-Item Documents\word.docx
    el archivo io del sistema existe eliminar el elemento con éxito
    Bueno, Powershell activa el error No se puede encontrar la ruta si intenta eliminar un archivo que no existe.
    el archivo io del sistema existe eliminar la ruta del elemento no existe

Además, puede probar el siguiente programa que adopta el cmdlet [System.IO.File]::Exists para eliminar un archivo existente en Windows Powershell:

$MyFile = "Documents\word.docx"
if([System.IO.File]::Exists($MyFile))
{
Remove-Item $MyFile
Write-Host "The file was found and has been deleted successfully"
}
else
{
Write-Host "The file you're searching for doesn't exist and can’t be deleted."
}

En el programa anterior, MyFile es una variable que almacena la ruta del archivo de MS Word. Ahora, usando el [System.IO.File]::Exists($MyFile), podemos saber si el elemento existe o no.

Ahora, en lugar de mostrar la expresión booleana, el Write-Hostcmdlet muestra " El archivo se encontró y se eliminó correctamente ". y elimina el archivo si existe.
el archivo io del sistema existe eliminación exitosa
Del mismo modo, recibe el mensaje: " El archivo que está buscando no existe y no se puede eliminar ". si la ruta no está bien establecida.
el archivo io del sistema existe no se puede eliminar

¿Cómo eliminar varios archivos existentes en Powershell?

A veces, es posible que desee eliminar varios archivos de una carpeta o directorio. En tal caso, Windows Powershell proporciona una función para eliminar todos los archivos o los archivos seleccionados de forma permanente. 

Precaución: los artículos no se moverán a la papelera de reciclaje. Básicamente, la acción es equivalente a realizar una eliminación permanente usando las teclas Shift + Delete en la interfaz de Windows.

En esta sección, discutiremos algunas formas fáciles y efectivas de verificar y eliminar múltiples archivos existentes en el programa Powershell.

Todos los archivos de una carpeta específica

Si desea eliminar todos los archivos de una carpeta en particular, independientemente del tipo de archivo o la extensión, este es el comando apropiado que puede usar:
Remove-Item <Path>\*.*

Por ejemplo, revisemos los archivos dentro de la carpeta Ejemplo y eliminemos todos los archivos dentro de ella. Así es como puedes hacerlo:

  1. En primer lugar, use el siguiente comando para verificar los archivos dentro de la carpeta Ejemplo:
    Get-ChildItem C:\Users\Bhishu\Desktop\Example
    verifique varios archivos usando get-childitem
  2. Ahora, puede ejecutar el siguiente código para eliminar todos estos archivos:
    Remove-Item C:\Users\Bhishu\Desktop\Example\*.*
    eliminar todos los elementos
  3. Para confirmar que se eliminaron todos sus archivos, use el Get-ChildItemcmdlet nuevamente, que no debería mostrar nada.
    obtener elemento secundario no muestra nada

Archivos ocultos o de solo lectura

Bueno, eliminar todos los archivos no eliminará aquellos con atributos ocultos y de solo lectura. De hecho, si intenta eliminar dichos elementos, obtendrá el error No tiene suficientes derechos de acceso para realizar esta operación .
no tiene suficientes derechos de acceso para realizar esta operación
Por lo tanto, debe usar el parámetro -Force para eliminarlos a la fuerza:
Remove-Item <Path> -Force

Pongamos un ejemplo para entender esto. Supongamos que tenemos un archivo oculto y de solo lectura, 'word.docx', dentro de la carpeta Ejemplo. Entonces, para eliminar esto, aquí está el comando correcto que debe usar:
Remove-Item C:\Users\Bhishu\Desktop\Example\word.docx -Force
eliminar archivos ocultos y de solo lectura usando el parámetro de fuerza

Ahora, no debería recibir el error. De hecho, puede validar esto usando el comando Test-Path para verificar si el archivo oculto ahora existe en la misma ubicación.

Todos los archivos del mismo tipo

Si no desea eliminar todos los archivos de una carpeta específica, sino que desea eliminar solo los elementos que tienen el mismo tipo de archivo, esta es la sintaxis que está buscando:
Remove-Item <Path>*[file-type]

Por ejemplo, para eliminar todos los archivos que tienen la extensión .docx de la carpeta Ejemplo, siga los pasos a continuación:

  1. En primer lugar, ejecute el siguiente script para verificar qué archivos existen en la carpeta:
    Get-Item C:\Users\bishu\Desktop\Example\*.*
    comprobar elementos de diferentes tipos de archivos
    Aquí, *.*mostrará todos los archivos independientemente de su extensión.
  2. Dado que solo está tratando de eliminar archivos que tienen el mismo tipo, use el siguiente comando que debería hacer el trabajo:
    Remove-Item C:\Users\bishu\Desktop\Example\*.docx
    Básicamente, *.docxayudará a eliminar todos esos archivos con la extensión .docx. Del mismo modo, puede reemplazarlo con cualquier tipo de archivo (.bmp, .txt, .jpeg), lo que eliminará solo aquellos archivos con la extensión correspondiente.
  3. Finalmente, puede usar el comando Get-Item nuevamente para ver todos los archivos en la carpeta Ejemplo. De hecho, notará que todos los archivos .docx se eliminan.
    se eliminan elementos del mismo tipo de archivo

Publicar un comentario

0 Comentarios