PDA

Показать полную графическую версию : [решено] как сделать запись в файл в одну строку?


mitiya
28-04-2010, 01:26
вот как сделать чтоб что-то типа этого

FOR /L %%a IN (1,1,10) DO echo %%a>>log.txt


на выходе дало вот это


12345678910


а не это


1
2
3
4
5
6
7
8
9
10

amel27
28-04-2010, 04:41
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

amel27
28-04-2010, 13:46
megaloman,

- "Set /P $V=%%a" выводит приглашение для ввода значения переменной $V (см. "SET /?");
- "<Nul" отключает ожидание ввода пользователя (перенаправляет ввод SET на пустое устр-во);
- ">>log.txt" перенаправляет вывод в файл

З.Ы. по сути тот же ECHO, только без CRLF в конце

Iska
28-04-2010, 14:18
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 - Вы прям корифей в бат-файлах, я у Вас постоянно учусь. Спасибо большое

amel27
28-04-2010, 16:03
ежели будет получено на то Ваше «добро»»
само собой не против, тем более эт не моя идея - позаимствовал на experts-exchange.com, а времени все-равно нет

amel27
29-04-2010, 09:00
забавный пример на ту же тему нашел на 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