Obtenga la ruta completa de los archivos en PowerShell

Rohan Timalsina 21 diciembre 2022
  1. Use Get-ChildItem para obtener la ruta completa de los archivos en PowerShell
  2. Utilice Select-Object para obtener la ruta completa de los archivos en PowerShell
  3. Use Format-Table para obtener la ruta completa de los archivos en PowerShell
  4. Use el bucle foreach para obtener la ruta completa de los archivos en PowerShell
Obtenga la ruta completa de los archivos en PowerShell

PowerShell tiene varios cmdlets para administrar los archivos en el sistema. Puede crear, copiar, mover, cambiar el nombre y eliminar los archivos mediante PowerShell.

También puede buscar los archivos y verificar la existencia de un archivo en PowerShell. Una ruta de archivo indica la ubicación del archivo en el sistema. Este tutorial presentará diferentes métodos para obtener la ruta completa de los archivos en PowerShell.

Use Get-ChildItem para obtener la ruta completa de los archivos en PowerShell

El cmdlet Get-ChildItem muestra una lista de archivos y directorios en la ubicación especificada. Puede usar el parámetro -Recurse para enumerar todos los archivos y directorios de forma recursiva.

También muestra los subdirectorios y sus archivos. Es útil para la búsqueda recursiva de archivos en PowerShell.

Aquí hay un ejemplo de búsqueda recursiva de archivos:

Get-ChildItem -Path C:\New -Filter test.txt -Recurse

El comando anterior busca el archivo test.txt en la ubicación C:\New recursivamente. Comprueba todos los directorios y subdirectorios dentro de la ubicación dada y muestra los detalles del archivo si lo encuentra.

Producción :

    Directory: C:\New\complex


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        12/16/2021   7:29 AM            198 test.txt

Como puede ver, el archivo test.txt se encuentra en el directorio C:\New\complex. Muestra la Path, Modo, Última hora de escritura, Length y Name del archivo.

Puede obtener la ruta completa del archivo canalizando el comando a %{$_.FullName}.

Get-ChildItem -Path C:\New -Filter test.txt -Recurse | %{$_.FullName}

Producción :

C:\New\complex\test.txt

Puede usar *.txt con el parámetro -Filter para obtener todos los archivos que tienen extensiones .txt en la ubicación C:\New.

Get-ChildItem -Path C:\New -Filter *.txt -Recurse | %{$_.FullName}

Producción :

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

O bien, puede usar este comando para obtener todos los archivos que tienen la extensión .txt y sus rutas en la ubicación especificada.

Get-ChildItem -Path C:\New -Recurse | where {$_.extension -eq ".txt"} | %{$_.FullName}

Utilice Select-Object para obtener la ruta completa de los archivos en PowerShell

Se usará un método similar, pero usaremos el cmdlet Select-Object con el comando Get-ChildItem para obtener la ruta completa de los archivos en PowerShell. El cmdlet Select-Object selecciona propiedades específicas de un objeto o conjunto de objetos.

Get-ChildItem -Path C:\New -Filter *.txt -Recurse | Select-Object -ExpandProperty FullName

Producción :

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

Use Format-Table para obtener la ruta completa de los archivos en PowerShell

Del mismo modo, puede usar Format-Table para obtener la ruta completa de los archivos en PowerShell. El cmdlet Format-Table formatea la salida como una tabla con las propiedades seleccionadas de un objeto.

Get-ChildItem -Path C:\pc -Filter car.png -Recurse | Format-Table FullName

Producción :

FullName
--------
C:\pc\computing\task4\car.png

Use el bucle foreach para obtener la ruta completa de los archivos en PowerShell

El bucle foreach también se conoce como declaración foreach en PowerShell. Es una construcción de lenguaje para recorrer una serie de valores en una colección de matrices, objetos, cadenas, números, etc. Puede ejecutar uno o más comandos contra cada elemento de un array dentro del bucle foreach.

Así es como puede usar el bucle foreach para obtener la ruta completa de los archivos en PowerShell.

Get-ChildItem -path C:\New\*.txt -Recurse | foreach { "$_" }

Producción :

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

El comando anterior no funciona con el parámetro -Filter. Puede canalizar al cmdlet Get-Item en el medio para usar el parámetro -Filter.

Get-ChildItem -Path C:\New -Filter *.txt -Recurse | Get-Item | foreach { "$_" }

Producción :

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt

Get-ChildItem tiene alias integrados ls, dir y gci. Puede ejecutar todos los comandos anteriores utilizando cualquiera de los identificadores en lugar del cmdlet Get-ChildItem.

Por ejemplo:

gci -Path C:\New -Filter *.txt -Recurse | %{$_.FullName}

Producción :

C:\New\complex\test.txt
C:\New\record\book.txt
C:\New\record\data.txt
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artículo relacionado - PowerShell File