Cómo obtener la ruta completa de los archivos en PowerShell
-
Usa
Get-ChildItem
para Obtener la Ruta Completa de los Archivos en PowerShell -
Usa
Select-Object
para Obtener la Ruta Completa de los Archivos en PowerShell -
Usa
Format-Table
para Obtener la Ruta Completa de los Archivos en PowerShell -
Usa el Bucle
foreach
para Obtener la Ruta Completa de los Archivos en PowerShell -
Usa
Format-List
para Obtener la Ruta Completa de los Archivos en PowerShell - Conclusión

PowerShell tiene varios cmdlets para administrar los archivos en el sistema. Puedes crear, copiar, mover, renombrar y eliminar archivos utilizando PowerShell.
También puedes buscar 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 introducirá diferentes métodos para obtener la ruta completa de los archivos en PowerShell.
Usa 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. Puedes usar el parámetro -Recurse
para listar todos los archivos y directorios de manera recursiva.
También muestra los subdirectorios y sus archivos. Es útil para la búsqueda de archivos recursiva en PowerShell.
Este enfoque se utiliza comúnmente en escenarios donde necesitas realizar operaciones en un conjunto de archivos repartidos a lo largo de una jerarquía de carpetas, como búsquedas de archivos, procesamiento por lotes o tareas de organización de datos.
Ejemplo:
Get-ChildItem -Path C:\ExampleDirectory -Filter *.txt -Recurse
Comenzamos designando nuestro directorio raíz con -Path C:\ExampleDirectory
. Esta elección establece el punto de partida de nuestra búsqueda, asegurando que estamos buscando en el lugar correcto.
A continuación, introducimos el parámetro -Filter *.txt
. Este es un movimiento estratégico de nuestra parte, ya que reduce significativamente nuestra búsqueda solo a aquellos archivos que tienen extensiones .txt
.
Al hacerlo, evitamos de manera eficiente una multitud de archivos no relacionados, haciendo que nuestro script sea más enfocado y rápido en ejecución.
El verdadero cambio de juego en nuestro script es el parámetro -Recurse
. Aquí es donde aprovechamos la capacidad de PowerShell para profundizar en las estructuras de directorio.
Con -Recurse
, no solo estamos explorando la superficie de C:\ExampleDirectory
; estamos explorando cada rincón y grieta, cada subdirectorio, sin importar cuán profundamente anidado esté.
Salida:
Puedes obtener la ruta completa del archivo canalizando el comando a %{$_.FullName}
.
Ejemplo:
Get-ChildItem -Path ExampleDirectory\ -Filter sample.txt -Recurse | % { $_.FullName }
Salida:
O puedes usar este comando para obtener todos los archivos que tienen la extensión .txt
y sus rutas en la ubicación especificada.
Ejemplo:
Get-ChildItem -Path ExampleDirectory\ -Recurse | where { $_.extension -eq ".txt" } | % { $_.FullName }
Salida:
Usa Select-Object
para Obtener la Ruta Completa de los Archivos en PowerShell
Se utilizará 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. Esta técnica es particularmente útil en escenarios donde necesitas auditar sistemas de archivos, gestionar datos o realizar operaciones de limpieza.
Ejemplo:
Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Select-Object -ExpandProperty FullName
A través de este script, estamos aprovechando el poder combinado de Get-ChildItem
y Select-Object
para localizar y listar de manera eficiente archivos .txt
. Iniciando nuestra búsqueda desde ExampleDirectory\
, aseguramos que todos los subdirectorios relevantes estén incluidos.
El -Filter *.txt
es un componente crucial, que nos permite centrarnos solo en archivos .txt
, agilizando así nuestra búsqueda.
Al emplear -Recurse
, no solo estamos rascando la superficie; estamos profundizando en cada subdirectorio, asegurándonos de que no se pase por alto ningún archivo. La magia ocurre con | Select-Object -ExpandProperty FullName
, que refina nuestra salida para mostrar solo lo esencial: las rutas completas de los archivos.
Salida:
Usa Format-Table
para Obtener la Ruta Completa de los Archivos en PowerShell
De manera similar, puedes 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.
El cmdlet Get-ChildItem
, cuando se combina con Format-Table
, se convierte en una herramienta poderosa no solo para recuperar rutas de archivos, sino también para presentarlas en un formato organizado y legible. Este método es particularmente útil para aquellos que necesitan evaluar y reportar rápidamente la estructura de su sistema de archivos.
Ejemplo:
Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Format-Table FullName
En este script, utilizamos estratégicamente Get-ChildItem
para explorar ExampleDirectory\
y sus subdirectorios en busca de archivos .txt
. El parámetro -Filter *.txt
es clave, ya que asegura que nuestra búsqueda sea enfocada y eficiente, ignorando tipos de archivos irrelevantes.
La bandera -Recurse
es crucial para una búsqueda exhaustiva, asegurando que ningún subdirectorio quede sin explorar.
Después de la búsqueda, empleamos | Format-Table FullName
para transformar nuestros hallazgos en una tabla bien organizada. Esto no solo mejora la legibilidad, sino que también proporciona una vista clara y estructurada de las rutas completas.
Salida:
Usa el Bucle foreach
para Obtener la Ruta Completa de los Archivos en PowerShell
El bucle foreach
también se conoce como la declaración foreach
en PowerShell. Es una construcción del lenguaje para recorrer una serie de valores en una colección de matrices, objetos, cadenas, números, etc.
Puedes ejecutar uno o más comandos contra cada elemento en un arreglo dentro del bucle foreach
.
Ejemplo:
Get-ChildItem -Path ExampleDirectory\*.txt -Recurse | foreach { "$_" }
En este script, comenzamos desplegando Get-ChildItem
para buscar meticulosamente ExampleDirectory\
en busca de archivos .txt
.
La inclusión de -Recurse
asegura una búsqueda completa a través de todas las capas de subdirectorios. Cada archivo encontrado se canaliza a un bucle foreach
.
Dentro de este bucle, $_
actúa como un marcador de posición para el archivo actual. Al encerrar $_
en comillas y mostrarlo, le indicamos a PowerShell que muestre la ruta completa de cada archivo.
Este enfoque no solo trata de recuperar datos; es una caminata metódica a través de cada archivo, ofreciendo la flexibilidad de agregar operaciones más complejas dentro del bucle.
Salida:
El comando anterior no funciona con el parámetro -Filter
. Puedes canalizar al cmdlet Get-Item
en el medio para usar el parámetro -Filter
.
Ejemplo:
Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Get-Item | foreach { "$_" }
La adición de Get-Item
en el pipeline es un paso clave, ya que permite que el parámetro -Filter
se utilice de manera efectiva, asegurando que solo se procesen archivos .txt
.
Salida:
Get-ChildItem
tiene alias incorporados ls
, dir
y gci
. Puedes ejecutar todos los comandos anteriores usando cualquiera de los alias en lugar del cmdlet Get-ChildItem
.
Ejemplo:
gci -Path ExampleDirectory\ -Filter *.txt -Recurse | % { $_.FullName }
Al usar alias, este comando se vuelve mucho más conciso mientras mantiene su funcionalidad. Los usuarios que provienen de diferentes entornos (como Unix/Linux o líneas de comandos más antiguas de Windows) pueden encontrar más familiares ls
o dir
.
Salida:
Usa Format-List
para Obtener la Ruta Completa de los Archivos en PowerShell
El cmdlet Get-ChildItem
es versátil para navegar y recuperar información sobre archivos y directorios. Cuando se utiliza con el parámetro -Filter
, puede dirigirse específicamente a archivos de un tipo determinado, como archivos .txt
.
Format-List
, por otro lado, muestra las propiedades de los objetos en un formato de lista. Cuando se combina con Get-ChildItem
, se puede utilizar para presentar rutas de archivos en una lista clara y legible.
Ejemplo:
Get-ChildItem -Path ExampleDirectory\ -Filter *.txt -Recurse | Format-List FullName
En nuestro código, utilizamos Get-ChildItem
para buscar minuciosamente ExampleDirectory\
y sus subdirectorios (-Recurse
) en busca de archivos con una extensión .txt
(-Filter *.txt
). Cada archivo descubierto se transfiere sin problemas a través de un pipeline (|
) al cmdlet Format-List
.
Nos centramos en extraer la propiedad FullName
de cada archivo, que representa su ruta completa. Este método es particularmente efectivo para crear una lista de rutas de archivos bien organizada y legible.
Salida:
Conclusión
Para concluir, PowerShell ofrece una plétora de cmdlets para una gestión de archivos competente. En este artículo, exploramos varios métodos para recuperar la ruta completa de los archivos utilizando PowerShell, aprovechando especialmente el cmdlet Get-ChildItem
en combinación con otros cmdlets como Format-List
, Select-Object
, y Format-Table
.
Estas técnicas son invaluables para tareas que involucran auditorías de sistemas de archivos, gestión de datos y procesamiento por lotes. Cada método que discutimos proporciona un enfoque único para manejar rutas de archivos, ya sea filtrando tipos de archivos específicos, listando rutas en una tabla formateada o iterando a través de archivos con un bucle foreach
.
Para los lectores que buscan profundizar su experiencia en PowerShell, los próximos pasos podrían involucrar explorar técnicas de manipulación de archivos más avanzadas, profundizar en el scripting de PowerShell para la automatización, o incluso integrar comandos de PowerShell con otras herramientas y scripts para flujos de trabajo más complejos.
Artículo relacionado - PowerShell File
- Cómo crear un archivo de texto usando Windows PowerShell
- Cómo obtener la versión del archivo en PowerShell
- Cómo subir archivos con FTP en PowerShell
- Cómo agregar datos a un archivo usando PowerShell
- Cómo almacenar el contenido de un archivo de texto en una variable usando PowerShell
- Consulta de la última hora de escritura del archivo en PowerShell