Blog. Just Blog

Как в .BAT-файле записать текстовую строку в файл без символов переноса строки

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Software | Автор: ManHunter
При всей своей кажущейся простоте, пакетные файлы обладают очень мощным функционалом. Вплоть до того, что на .BAT-файлах можно писать полиморфные вирусы. Но, как и в любой околокомпьютерной сфере, тут не обошлось без своих заморочек. Одна из них заключается в том, что при перенаправлении вывода в файл командой echo в созданный файл принудительно добавляется перенос строки. Вроде бы так и надо, но если вам надо сформировать какую-нибудь команду или непрерывную строку для дальнейшего использования, то было бы неплохо сделать так, чтобы символ переноса строки не добавлялся. Сделать это можно, используя другую команду:

<nul set /p tmpstr=текст>file.txt
В такой реализации в перенаправляемый файл будет записана текстовая строка без лишних символов переноса строки. При этом формируемую строку в любой момент можно дополнять командой типа:

<nul set /p tmpstr=другой_текст>>file.txt
В этом случае перенос строки также не добавляется. Когда необходимый паттерн будет сформирован, но при этом надо перейти к новой строчке, вывод текущей строки в файл можно завершить уже известной вам командой echo.

Этот же способ можно использовать, например, для копирования строк из пакетного файла:

<nul set /p tmpstr=Эта строка будет скопирована в буфер обмена|clip
Тут выводимая строка используется в качестве источника данных для стандартной команды clip, которая, в свою очередь, заносит текст в буфер обмена.

Поделиться ссылкой ВКонтакте
Просмотров: 4877 | Комментариев: 4

Метки: система
Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
Антон (07.06.2024 в 00:56):
Спасибо, пригодилось! BATон на все времена)
ManHunter (06.11.2018 в 06:54):
Да, не совсем четко сформулировал мысль. Поправил.
Vol (06.11.2018 в 03:13):
Цитатавывод в файл можно завершить уже известной вам командой echo.

А разве echo здесь не лишнее? Ведь после
<nul set /p tmpstr=другой_текст>>file.txt
- все уже и без того в файле, кажется?
u-b0at (05.11.2018 в 18:29):
О! Старый добрый BAT!!! Не думал, что когда-нибудь ещё увижу статью о нём)

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2025
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.1 сек. / MySQL: 2 (0.0026 сек.) / Память: 4.5 Mb
Наверх