CMD/BAT - [решено] echo без пустой строки
-
letti
CMD/BAT - [решено] echo без пустой строки
Добрый день!
при попытке передать информацию в файл (echo text >> file.txt) подставляется пустая последняя строка. Есть ли возможность удалить ту самую последнюю (пустую) строку ?
при попытке передать информацию в файл (echo text >> file.txt) подставляется пустая последняя строка. Есть ли возможность удалить ту самую последнюю (пустую) строку ?
-
letti
Re: CMD/BAT - [решено] echo без пустой строки
Цитата letti:
Есть ли возможность удалить ту самую последнюю (пустую) строку ?
Та самая строка формируется конечным символом перевода строки командой echo
Не знаю, зачем понадобилось убирать эту строку, т.к. при добавлении текста в этот файл командой >> (после удаления пустой строки, то бишь символа перевода строки), этот текст "склеится" с последней строкой... но, в принципе так:
Код:
Есть ли возможность удалить ту самую последнюю (пустую) строку ?
CMD/BAT - [решено] echo без пустой строки
Та самая строка формируется конечным символом перевода строки командой echo
Не знаю, зачем понадобилось убирать эту строку, т.к. при добавлении текста в этот файл командой >> (после удаления пустой строки, то бишь символа перевода строки), этот текст "склеится" с последней строкой... но, в принципе так:
Код:
Код: Выделить всё
>out.txt-
letti
Re: CMD/BAT - [решено] echo без пустой строки
Цитата letti:
Есть ли возможность удалить ту самую последнюю (пустую) строку ?
Удалить — нет. Не добавлять символы перевода строки и возврата каретки (0x0D, 0x0A) — да.
Токмо лучше наоборот — на всякий случай:
Код:
Есть ли возможность удалить ту самую последнюю (пустую) строку ?
CMD/BAT - [решено] echo без пустой строки
Удалить — нет. Не добавлять символы перевода строки и возврата каретки (0x0D, 0x0A) — да.
Токмо лучше наоборот — на всякий случай:
Код:
Код: Выделить всё
>>"out.txt" -
Iska
Re: CMD/BAT - [решено] echo без пустой строки
Цитата Iska:
на всякий случай:
если от такого: (>out.txt), да, (>>out.txt out.txt), хоть где не пиши запись в файл, спасет только:
Код:
на всякий случай:
CMD/BAT - [решено] echo без пустой строки
если от такого: (>out.txt), да, (>>out.txt out.txt), хоть где не пиши запись в файл, спасет только:
Код:
Код: Выделить всё
>>out.txt -
alpap
Re: CMD/BAT - [решено] echo без пустой строки
alpap, от первого. Особенно неприятно, когда номером потока оказывается часть содержимого переменной окружения или переменной цикла разбора: зараз и не обратишь внимания, что куда пропало.
-
Iska
Re: CMD/BAT - [решено] echo без пустой строки
alpap, от первого. Особенно неприятно, когда номером потока оказывается часть содержимого переменной окружения или переменной цикла разбора: зараз и не обратишь внимания, что куда пропало.
-
YuS_2
Re: CMD/BAT - [решено] echo без пустой строки
Цитата Iska:
Удалить — нет. Не добавлять символы перевода строки и возврата каретки (0x0D, 0x0A) — да.
При этом при выводе заранее узнать, какая строка последняя часто очень проблематично, зато узнать, первая ли это строка в файле (по отсутствию этого самого файла или при пересоздании этого файла при выводе первой строки) - нет проблем. Поэтому, чтобы текст не "склеивался":
Код:
и так далее
Удалить — нет. Не добавлять символы перевода строки и возврата каретки (0x0D, 0x0A) — да.
CMD/BAT - [решено] echo без пустой строки
При этом при выводе заранее узнать, какая строка последняя часто очень проблематично, зато узнать, первая ли это строка в файле (по отсутствию этого самого файла или при пересоздании этого файла при выводе первой строки) - нет проблем. Поэтому, чтобы текст не "склеивался":
Код:
Код: Выделить всё
>"out.txt" (<nul set /p sVar=текст1)
>>"out.txt" (Echo.&<nul set /p sVar=текст2)
>>"out.txt" (Echo.&<nul set /p sVar=текст3)и так далее
-
megaloman
Re: CMD/BAT - [решено] echo без пустой строки
megaloman,
собственно изменять(ить) можно только последнюю строку вывода (вернее записи)
собственно изменять(ить) можно только последнюю строку вывода (вернее записи)
Код: Выделить всё
@echo off
>>"out.txt" (
echo текст1
echo текст2
echo:& <nul set /p="текст3"
)
pause-
alpap
Re: CMD/BAT - [решено] echo без пустой строки
alpap,
Цитата alpap:
изменять(ить) можно только последнюю строку вывода
Фишка моего предложения
Цитата megaloman:
заранее узнать,какая строка последняя часто очень проблематично, зато узнать, первая ли это строка в файле - нет проблем.
Проще обработать особым образом первую строку, зато последующие можно не думая выдавать единообразным образом ни о чем не думая.
То есть в первой строке записываем текст без Cr Lf на конце, а последующие строки пишем как Cr+Lf+Текст
Цитата alpap:
изменять(ить) можно только последнюю строку вывода
CMD/BAT - [решено] echo без пустой строки
Фишка моего предложения
Цитата megaloman:
заранее узнать,какая строка последняя часто очень проблематично, зато узнать, первая ли это строка в файле - нет проблем.
CMD/BAT - [решено] echo без пустой строки
Проще обработать особым образом первую строку, зато последующие можно не думая выдавать единообразным образом ни о чем не думая.
То есть в первой строке записываем текст без Cr Lf на конце, а последующие строки пишем как Cr+Lf+Текст
-
megaloman
Re: CMD/BAT - [решено] echo без пустой строки
Цитата megaloman:
Фишка моего предложения
фишку понял и предложу вариант с почти одинаковым написанием строк, разница лишь в нумерации, несложно добавить в поток, а может изначально будет или будет не лишней для кого-то по задаче:
Фишка моего предложения
CMD/BAT - [решено] echo без пустой строки
фишку понял и предложу вариант с почти одинаковым написанием строк, разница лишь в нумерации, несложно добавить в поток, а может изначально будет или будет не лишней для кого-то по задаче:
Код: Выделить всё
@echo off
set "$_1=текст1"
set "$_2=текст2"
set "$_3=текст3"
>"out.txt" (for /f "tokens=2* delims=_=" %%a in ('set $_') do @(
if %%a==1 (
<nul set /p="%%b"
) else (
echo:& <nul set /p="%%b"
)
)
)
pause