Как сохранить пробелы между словами после объединения всех слов в одну строку в пакетном режиме - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть этот код, который пытается выбрать все в файле и поместить в одну и ту же строку, сохраняя при этом все пробелы между словами.

@echo off
setlocal enabledelayedexpansion
set DESTPATH=""
for %%X in (*.txt) do (
    for /F "tokens=*" %%A in (%%X) do (
        set line=%%A
        echo|set /p = !line: =!  >> %DESTPATH%converted_%%X
    )
)

Теперь, например, если у меня это вtestfile.txt

I want to have
        all the words
        in the same line 
    while conserving the at least one space
    between each word.

Я получаю это:

Iwanttohave  allthewords  inthesameline  whileconservingtheatleastonespace  betweeneachword

Вместо:

I want to have all the words in the same line while conserving the at least one space between each word.

Должна быть команда, которую я использую, которая удаляет всепробелы в строке, но мне это не понятно даже при чтении документа для /p или /F.

Как получить последний вывод вместо того, который я получил?

1 Ответ

2 голосов
/ 04 апреля 2019

Я не могу проверить это, но, пытаясь повторить то, что вы предоставили, мой путь, я, вероятно, попробую что-то вроде этого:

@Echo Off
Set "DESPATH="
For %%A In (*.txt)Do (
    For /F UseBackQDelims^=^ EOL^= %%B In ("%%A")Do Set /P "=%%B "<Nul
    Echo()>>"%DESPATH%converted_%%A"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...