Búsqueda de sitios web

PowerShell: compruebe si el archivo se ha modificado en las últimas 24 horas


Puede utilizar la siguiente sintaxis básica en PowerShell para comprobar si un archivo se ha modificado en las últimas 24 horas:

if ((Get-Date) - (ls c:\users\bobbi\nba_data.xlsx).LastWriteTime).Days -lt 1)
{
echo "File modified in last 24 hours"
}
else
{
echo "File not modified in last 24 hours"
}

Este ejemplo en particular comprueba si el archivo denominado nba_data.csv se ha modificado en las últimas 24 horas.

Si se ha modificado, se devolverá el archivo modificado en las últimas 24 horas.

Si no se ha modificado, se devolverá el archivo no modificado en las últimas 24 horas.

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: Cómo comprobar si el archivo se ha modificado en las últimas 24 horas usando PowerShell

Supongamos que tenemos un archivo llamado nba_data.xlsx que no hemos modificado en varios meses.

Supongamos que este archivo se guarda en la siguiente ubicación:

c:\users\bobbi\nba_data.xlsx

Podemos utilizar la siguiente sintaxis para comprobar si este archivo ha sido modificado en las últimas 24 horas:

if ((Get-Date) - (ls c:\users\bobbi\nba_data.xlsx).LastWriteTime).Days -lt 1)
{
echo "File modified in last 24 hours"
}
else
{
echo "File not modified in last 24 hours"
}

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

PowerShell devuelve Archivo no modificado en las últimas 24 horas ya que, de hecho, el archivo no se modificó en las últimas 24 horas.

Si lo deseamos, podemos ver cuándo se modificó el archivo por última vez utilizando la siguiente sintaxis:

(ls c:\users\bobbi\nba_data.xlsx).LastWriteTime

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Podemos ver que el archivo se modificó por última vez el 23 de octubre de 2023.

Este tutorial se está escribiendo actualmente el 26 de febrero de 2024, por lo que PowerShell nos indica que el archivo no ha sido modificado en las últimas 24 horas.

Nota: utilizamos el cmdlet Get-Date para obtener la fecha y hora actuales.

Artículos relacionados