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