Главная > Решение проблем > Как убрать пустую строку из вывода команды echo в Windows

Как убрать пустую строку из вывода команды echo в Windows

По умолчанию, консольная команда echo в командной строке Windows добавляет символ новой строки к своему выводу, и это не всегда бывает удобно. Недавно я прикручивал в очередной раз "Копировать как путь" (на этот раз это была кнопка тулбара Classic Shell), и решил разобраться и избавиться от новой строки в выводе echo.

Итак, вот вывод echo по умолчанию:

echo Стрелочка указывает на лишнюю строчку в выводе команды.

Чтобы избавиться от неё, необходимо скомбинировать несколько команд, как указано ниже:

echo | set /p="Тестируем вывод команды"

Совсем другое дело:

echo no new line Как же это работает? Магии здесь нет:

  1. команда set /p= выводит на экране запрос, указанный после знака "равно". Эта возможность обычно используется для организации диалогов в командных файлах. Давайте выполним её отдельно:
    set Команда выведет строчку и будет ожидать ввода от пользователя, пока тот не введет какой-либо текст и не нажмет энтер.
  2. Пустая команда echo отправит в вывод команды set тот самый злосчастный символ новой строки, set расценит его как реакцию пользователя и нажатие Enter, и закончит свою работу.
  3. Таким образом, на экране будет только вывод команды set /p, а она не добавляет лишнюю строчку! Не правда ли, здорово?

Ну а конкретно для моей задачи с помещением нужного мне текста в буфер обмена без дополнительной строчки только остается применить команду clip в сочетании с echo и set, вот так:

echo | set /p="Тестируем вывод команды" | clip

Winreview.ru можно найти в Вконтакте, Facebook и Twitter. Присоединяйтесь!

Комментарии

  1. Алексей

    Спасибо! То, что нужно. Как раз давно искал как избавиться от перевода строки при копировании в буфер.

  2. Сергей Ткаченко

    @Алексей
    Пожалуйста

  3. Симтек

    Отлично, спасибо за ваши советы, вы мне очень помогли.

  4. Сергей Ткаченко

    @Симтек
    Не за что

Написать комментарий