По умолчанию, консольная команда echo в командной строке Windows добавляет символ новой строки к своему выводу, и это не всегда бывает удобно. Недавно я прикручивал в очередной раз "Копировать как путь" (на этот раз это была кнопка тулбара Classic Shell), и решил разобраться и избавиться от новой строки в выводе echo.
Итак, вот вывод echo по умолчанию:
Стрелочка указывает на лишнюю строчку в выводе команды.
Чтобы избавиться от неё, необходимо скомбинировать несколько команд, как указано ниже:
echo | set /p="Тестируем вывод команды"
Совсем другое дело:
Как же это работает? Магии здесь нет:
- команда set /p= выводит на экране запрос, указанный после знака "равно". Эта возможность обычно используется для организации диалогов в командных файлах. Давайте выполним её отдельно:
Команда выведет строчку и будет ожидать ввода от пользователя, пока тот не введет какой-либо текст и не нажмет энтер. - Пустая команда echo отправит в вывод команды set тот самый злосчастный символ новой строки, set расценит его как реакцию пользователя и нажатие Enter, и закончит свою работу.
- Таким образом, на экране будет только вывод команды set /p, а она не добавляет лишнюю строчку! Не правда ли, здорово?
Ну а конкретно для моей задачи с помещением нужного мне текста в буфер обмена без дополнительной строчки только остается применить команду clip в сочетании с echo и set, вот так:
echo | set /p="Тестируем вывод команды" | clip
💡Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.
Спасибо! То, что нужно. Как раз давно искал как избавиться от перевода строки при копировании в буфер.
Пожалуйста
Отлично, спасибо за ваши советы, вы мне очень помогли.
Не за что