Búsqueda de sitios web

¿Cómo obtener detalles de un archivo en PowerShell?


¿Quiere obtener metadatos de un archivo usando PowerShell? En este tutorial, explicaré cómo obtener detalles de un archivo en PowerShell. Cubriremos varios métodos para recuperar metadatos, atributos y contenido de archivos, etc.

Para obtener detalles de un archivo en PowerShell, puede usar el cmdlet Get-ItemProperty para recuperar propiedades como el tamaño del archivo, la hora de creación y la hora de la última modificación. Por ejemplo, Get-ItemProperty -Path “C:\MyFolder\File.txt” enumerará estas propiedades para el archivo especificado. Para leer el contenido de un archivo, utilice Get-Content -Path “C:\MyFolder\File.txt”, y para operaciones masivas en varios archivos, Get-ChildItem combinado con Get-ItemProperty puede proporcionar información detallada para cada archivo en un directorio.

Obtener detalles de un archivo usando Get-ItemProperty

Para obtener detalles del archivo usando PowerShell, puede usar Get-ItemProperty. Este cmdlet de PowerShell recupera las propiedades del elemento en una ruta especificada, que puede incluir un archivo o una carpeta. Veamos un ejemplo básico:

Get-ItemProperty -Path "C:\MyFolder\MyFile.txt"

Este comando generará propiedades como LastWriteTime, Length (tamaño del archivo) y CreationTime del archivo, entre otras.

Puede ver el resultado en la captura de pantalla a continuación después de ejecutar el script de PowerShell anterior.

Para obtener una vista más detallada, puede especificar propiedades particulares que desea recuperar, como Nombre, Longitud, Hora de la última escritura, etc.:

Get-ItemProperty -Path "C:\MyFolder\MyFile.txt" -Name Length, LastWriteTime

Este script mostrará solo el tamaño y la hora de la última modificación del archivo especificado.

Obtener contenido de archivo mediante el cmdlet Get-Content de PowerShell

Si desea leer el contenido de un archivo usando PowerShell, puede usar el cmdlet Get-Content. Aquí está el comando de PowerShell.

Get-Content -Path "C:\MyFolder\MyFile.txt"

Este comando mostrará el contenido de "MyFile.txt" en la consola. Si desea leer una cierta cantidad de líneas del archivo, puede usar el parámetro -TotalCount:

Get-Content -Path "C:\MyFolder\MyFile.txt" -TotalCount 5

Este script generará las primeras cinco líneas del archivo.

Obtener atributos de archivo con Get-Item

Para profundizar más en los atributos del archivo, puede utilizar el cmdlet de PowerShell Get-Item. Este cmdlet le permite recuperar el objeto de archivo y sus atributos, como ReadOnly, Hidden y Archive. Así es como puedes usarlo:

$file = Get-Item -Path "C:\MyFolder\MyFile.txt"
$file.Attributes

El resultado enumerará todos los atributos establecidos en el archivo. También puede filtrar para comprobar si se establece un atributo específico:

$file = Get-Item -Path "C:\MyFolder\MyFile.txt"
$file.Attributes -match "ReadOnly"

Si el archivo es de solo lectura, este script devolverá True.

Utilice Get-ChildItem para varios archivos

Si necesita recuperar detalles de varios archivos a la vez, puede utilizar el cmdlet de PowerShell Get-ChildItem. Este cmdlet se puede utilizar para enumerar todos los archivos en un directorio y luego canalizar la salida a Get-ItemProperty para obtener información detallada:

Get-ChildItem -Path "C:\MyFolder" -File | Get-ItemProperty | Select-Object Name, Length, LastWriteTime

Este comando enumerará los nombres, tamaños y horas de última modificación de todos los archivos en el directorio especificado.

Puedes ver la captura de pantalla a continuación; Después de ejecutar el script anterior, mostró detalles de todos los archivos.

Obtener detalles del archivo en formato CSV

Aquí hay un script completo que recupera detalles específicos de todos los archivos en un directorio y exporta la información a un archivo CSV:

$files = Get-ChildItem -Path "C:\MyFolder" -File
$fileDetails = foreach ($file in $files) {
    $properties = Get-ItemProperty -Path $file.FullName
    [PSCustomObject]@{
        FileName = $properties.Name
        Size = $properties.Length
        LastModified = $properties.LastWriteTime
        IsReadOnly = ($properties.Attributes -match "ReadOnly")
    }
}

$fileDetails | Export-Csv -Path "C:\MyFolder\FileDetails.csv" -NoTypeInformation

Este script primero reúne todos los archivos en el directorio especificado, luego itera sobre cada archivo, recopilando su nombre, tamaño, hora de la última modificación y estado de solo lectura. Luego, los datos recopilados se exportan a un archivo CSV.

Conclusión

En este tutorial de PowerShell, he explicado cómo obtener detalles de un archivo usando Get-ItemProperty en PowerShell. Además, he explicado cómo utilizar el cmdlet Get-ChildItem PowerShell para obtener detalles de varios archivos.

Artículos relacionados