full - get-item powershell
equivalente a(dir/b> files.txt) en PowerShell (5)
dir/b > files.txt
Supongo que tiene que hacerse en PowerShell para conservar los signos Unicode.
Get-ChildItem
realidad ya tiene una bandera para el equivalente de dir /b
:
Get-ChildItem -name
(o dir -name
)
Dado que powershell trata con objetos, debe especificar cómo desea procesar cada objeto en la tubería.
Este comando imprimirá solo el nombre de cada objeto:
dir | ForEach-Object { $_.name }
En PSH dir
(que alias Get-ChildItem
) le da objetos (como se señala en otra respuesta ), por lo que debe seleccionar qué propiedades desea. Ya sea con Select-Object
(alias select
) para crear objetos personalizados con un subconjunto de las propiedades del objeto original (o se pueden agregar propiedades adicionales).
Sin embargo, en esto puede hacerlo en la etapa de formato es probablemente el más simple
dir | ft Name -HideTableHeaders | Out-File files.txt
( ft
es format-table
)
Si desea una codificación de caracteres diferente en files.txt
( out-file
usará UTF-16 de manera predeterminada) utilice el indicador -encoding
, también puede agregar:
dir | ft Name -HideTableHeaders | Out-File -append -encoding UTF8 files.txt
Get-ChildItem | Select-Object -ExpandProperty Name > files.txt
o más corto:
ls | % Name > files.txt
Sin embargo, puedes hacer lo mismo fácilmente en cmd
:
cmd /u /c "dir /b > files.txt"
El /u
le dice a cmd
que escriba cosas redirigidas en archivos como Unicode.
Simplemente pon:
dir -Name > files.txt