Como corrigir saída truncada do PowerShell, mesmo quando especifiquei -width 300

2

Estou tentando obter uma lista de todos os diretórios e arquivos em um disco rígido externo, com um caminho de diretório / arquivo totalmente qualificado por linha. Estou usando o PowerShell no Windows 10 para conseguir isso. Este é o comando do PowerShell que estou usando:

Get-ChildItem 'E:\' -Force -Recurse | Select-Object FullName | Out-File -Encoding utf8 "C:\Users\Me\Desktop\listing.txt" -width 300

No entanto, alguns caminhos estão sendo truncados na minha saída. Na verdade, mais de 10.000 linhas são truncadas. Aqui está um exemplo de uma linha no meu arquivo de saída do list.txt PowerShell:

E:\Sort\Tech Stuff06-2007 CompanyLtd\fsie01-Engineering-Users-User1\Reference\LCID & Language Group by Language\Configuring and Using International Features of Windows Windows 2000 - List of Locale I...

Quando eu navego para esse diretório no Gerenciador de arquivos (E: \ Classificar \ Tech Stuff \ 2006-2007 CompanyLtd \ fsie01-Engenharia-Usuários-Usuário1 \ Referência \ LCID & Grupo de idiomas por idioma), o arquivo é chamado 'Configurando e usando recursos internacionais do Windows Windows 2000 - Lista de IDs de local e grupo de idiomas.url'. O caminho desse arquivo tem 228 caracteres, se eu não tiver errado, o que deve estar dentro de limites aceitáveis.

O que estou fazendo de errado que está truncando os caminhos na saída do PowerShell?

    
por osullic 07.03.2016 / 00:42

2 respostas

2

Saída de tubulação para o comando de formatação , por exemplo da seguinte forma:

Get-ChildItem 'E:\' -Force -Recurse | Select-Object FullName | Format-Table -AutoSize

ou

(Get-ChildItem 'E:\' -Force -Recurse).FullName | Format-Table -AutoSize

Observe que o parâmetro -Width de Out-File cmdlet especifica o número de caracteres em cada linha de saída. Quaisquer caracteres adicionais são truncados, não envolvidos. No entanto, -Width 300 deve ser suficiente neste caso.

    
por 07.03.2016 / 10:35
0

para mim, funciona melhor com a tubulação para export-csv

link

simplesmente:

GCI 'E:\' -Recurse | Select FullName | Export-CSV Files.csv

sem aspas duplas:

Add-Content -Path Files.txt -Value (GCI 'E:\' -Recurse).FullName
    
por 29.01.2018 / 23:45