1

Тема: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

Здравствуйте всем!
Можно ли организовать автоматический перевод строки в CMD-окне без разрыва слов при необходимости вывода длинного ECHO- сообщения?
Конечно, можно его разбить на несколько ECHO команд, но не хотелось бы.
Может быть это воможно?

2

Re: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

Средствами cmd вряд ли. С помощью небольшой инъекции JScript - возможно.

( 2 * b ) || ! ( 2 * b )

3

Re: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

privatbox, поясните Вашу мысль. Я не понял.

4

Re: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

Командой  ECHO нужно вывести на эран сообщение.
Если длина строки сообщения превышает ширину экрана, остаток текста отображается в следующей строке экрана.
Но зачастую при этом часть слова остается в первой строке, а остаток переносится на вторую.

5

Re: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

privatbox, посмотрите сюда: CMD/BAT: вывод текста без переноса на новую строку. Общие принципы будут схожи. А так — получение ширины окна консоли, определение длины строки, разбиение строки на слова и т.п.

6

Re: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

alexii, эту тему я читал. Не совсем то...
Но все равно, спасибо!
Кстати, а как узнать текущую ширину окна консоли?

7

Re: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

alexii, эту тему я читал. Не совсем то...

Естественно, не совсем то . Общий подход.

Кстати, а как узнать текущую ширину окна консоли?

В указанной теме был предложен один из возможных вариантов:

rem ==========================================================================
rem Процедура GetConsoleWidth
rem 
rem %1 : имя переменной для возврата (ширина окна консоли - 1)
rem ==========================================================================
:GetConsoleWidth
    setlocal enableextensions enabledelayedexpansion
    
    rem ---- Получаем (ширина окна консоли - 1) ------------------------------
    for /f "tokens=2" %%i in ('start /wait /b mode con: ^| find.exe /i "Столбцы"') do set /a intCols=%%i - 1
    
    endlocal & set /a %~1=%intCols%
    exit /b 0
rem ==========================================================================

8

Re: CMD/BAT: Как организовать перевод ECHO строки без разрыва слов?

alexii Спасибо!
Буду попровать...