¿Cómo enumerar nombres de archivos solo en PowerShell?
Puedes hacer cosas locas en PowerShell, una de las cuales es obtener solo nombres de archivos. En este artículo, le mostraré cómo enumerar nombres de archivos sólo en PowerShell.
Para enumerar nombres de archivos solo en PowerShell, puede usar el cmdlet Get-ChildItem combinado con el parámetro -Name. Por ejemplo, Get-ChildItem -Path “C:\Your\Directory” -Name genera todos los nombres de archivos en el directorio especificado. Para excluir directorios y enumerar solo archivos, agregue el parámetro -File, así: Get-ChildItem -Path “C:\Your\Directory” -File -Name.
Obtener nombres de archivos únicamente mediante el cmdlet Get-ChildItem
Probemos el enfoque más simple.
El comando principal para enumerar archivos en PowerShell es Get-ChildItem. Este cmdlet recupera los elementos y elementos secundarios en una o más ubicaciones especificadas. Para enumerar únicamente los nombres de los archivos, puede utilizar este cmdlet en su forma más sencilla.
Get-ChildItem -Path "C:\MyFolder" -NameEl parámetro -Path especifica el directorio y el parámetro -Name garantiza que solo se muestren los nombres de los archivos, excluyendo otros detalles como el tamaño, el tipo o la fecha de modificación.
Puede ver en la captura de pantalla a continuación que ejecuté el script usando código VS.
Filtrar directorios
De forma predeterminada, Get-ChildItem enumera archivos y directorios en PowerShell. Si desea enumerar solo archivos, puede filtrar los directorios usando el parámetro -File.
Get-ChildItem -Path "C:\MyFolder" -File -NameEste comando devolverá una lista de nombres de archivos sin sus extensiones e ignorará solo los nombres de las carpetas.
Obtener nombres de archivos excluyendo extensiones de archivo
Si desea enumerar los archivos pero excluir sus extensiones, puede usar una combinación de cmdlets Get-ChildItem y ForEach-Object en PowerShell.
Get-ChildItem -Path "C:\MyFolder" -File | ForEach-Object { $_.BaseName }Este script enumera los nombres base (nombres de archivos sin extensiones) de todos los archivos en el directorio especificado.
Obtener nombres de archivos solo de forma recursiva
Para enumerar los archivos en el directorio especificado y todos los subdirectorios, use el parámetro -Recurse en los cmdlets Get-ChildItem de PowerShell.
Get-ChildItem -Path "C:\MyFolder" -Recurse -File -NameEste comando enumerará todos los nombres de archivos, incluidos los de todos los niveles de subdirectorios del directorio de destino.
Filtrado avanzado con objeto Where
Para escenarios más avanzados, es posible que necesite filtrar la lista de archivos según ciertos criterios, como nombres de archivos que contienen texto específico. El cmdlet Where-Object se puede utilizar para este propósito.
Aquí está el script completo de PowerShell.
Get-ChildItem -Path "C:\MyFolder" -File | Where-Object { $_.Name -like '*myfile*' } | ForEach-Object { $_.Name }Conclusión
Si sigue los métodos anteriores, debería poder listar nombres de archivos en PowerShell.
La forma más sencilla de utilizar el cmdlet Get-ChildItem de PowerShell.

