Скрипт Powershell для запуска нескольких входных текстовых файлов

Я пытаюсь удалить пробелы из входного текстового файла через скрипт powershell. У меня сотни, если не тысячи текстовых файлов, где я должен удалить пробелы. Я написал код для удаления пробелов. Он отлично работает для одного текстового файла, но я хочу выполнить более одного файла.

gc C:\test\3.txt | where {$_ -ne ""} > C:\test\out.txt

В приведенном выше примере у меня есть больше входных файлов, таких как 4.txt, 5.txt, 6.txt и т. д. Я хочу выполнить все файлы за один раз, удалить пробелы и написать 4out.txt, 5out.txt, 6out. txt и т. д. в другую папку.


person Meera    schedule 12.12.2020    source источник
comment
Пожалуйста, прекратите использовать lakh в своих вопросах. Мы не все из Индии и не понимаем индийских слов   -  person James Z    schedule 13.12.2020


Ответы (1)


Это должен быть просто случай циклического просмотра ваших файлов и запуска той же строки, которая у вас уже есть.

Добавьте немного try-catch, если вы хотите быть в безопасности.

$InputFiles = Get-ChildItem 'C:\test\'
$OutputPath = 'C:\test\out\'

ForEach($File in $InputFiles) {
    Get-Content $File |
        Where-Object {$_ -ne ''} |
            Out-File (Join-Path -Path $OutputPath -ChildPath $File.Name)
}
person OwlsSleeping    schedule 12.12.2020