Показать полную графическую версию : [решено] как сделать запись в файл в одну строку?
вот как сделать чтоб что-то типа этого
FOR /L %%a IN (1,1,10) DO echo %%a>>log.txt
на выходе дало вот это
12345678910
а не это
1
2
3
4
5
6
7
8
9
10
FOR /L %%a IN (1,1,10) DO <Nul Set /P $V=%%a>>log.txt
megaloman
28-04-2010, 12:56
Уважаемый amel27! Не могли бы Вы растолковать, как это работает? DO <Nul Set /P $V=%%a>>log.txt
megaloman,
- "Set /P $V=%%a" выводит приглашение для ввода значения переменной $V (см. "SET /?");
- "<Nul" отключает ожидание ввода пользователя (перенаправляет ввод SET на пустое устр-во);
- ">>log.txt" перенаправляет вывод в файл
З.Ы. по сути тот же ECHO, только без CRLF в конце
amel27, а выложите сие («<Nul Set /P …») на Wiki (http://wiki.oszone.net/), весьма полезная вещь. Я бы даже сказал, единственная в своём роде.
P.S. Начало, помнится, было положено здесь (http://forum.oszone.net/post-970752-505.html).
P.P.S. В принципе, могу и я попробовать слепить (у меня есть там регистрация), ежели будет получено на то Ваше «добро».
megaloman
28-04-2010, 15:09
amel27 - Вы прям корифей в бат-файлах, я у Вас постоянно учусь. Спасибо большое
ежели будет получено на то Ваше «добро»»
само собой не против, тем более эт не моя идея - позаимствовал на experts-exchange.com, а времени все-равно нет
забавный пример на ту же тему нашел на http://www.robvanderwoude.com: :)
@Echo Off
CALL :Put Me canse de escribir tantas lineas ...
CALL :Put Este es el typewritter effect reloaded
CALL :Put o echo dinamico xD
>NUL PAUSE
GOTO:EOF
:Put
IF NOT DEFINED .m_ SET.m_=%*
IF NOT DEFINED .m_ GOTO:EOF
<NUL SET /P .m_=%.m_:~0,1%
>NUL PING -n 1 127.0.0.1
SET .m_=%.m_:~1%
IF DEFINED .m_ (GOTO:Put) ELSE (ECHO.)
GOTO:EOF
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.