перенаправить вывод в файл cmd



Автор Ѐоман задал вопрос в разделе Системное администрирование

[CMD] Можно ли перенаправить вывод команды так чтобы он шел допустим не только в файл но и одновременно на экран? и получил лучший ответ

Ответ от ...[гуру]
Рискну предложить свой вариант. Пришлось немного подумать. =)
Зато без доп. временных файлов и читается проще ^_^. Все команды с перенаправлением надо вызывать через call :log "команда"
--
@echo off
call :log "echo ok"
for /l %%i in (1,1,10) do call :log "echo %%i"
call :log "dir"
exit
:log
for /f "tokens=* delims=" %%i in ('%~1') do (
echo %%i
echo %%i>>log.txt
)
На экране и в логе будет
ok
1
2
3
4
5
6
7
8
9
10
Volume in drive C has no label.
Volume Serial Number is 74A1-FABF
Directory of C:2
01.06.2015 02:24 .
01.06.2015 02:24 ..
01.06.2015 02:15 190 1.cmd
01.06.2015 02:23 173 2.cmd
01.06.2015 02:24 35 log.txt
3 File(s) 398 bytes
2 Dir(s) 7 773 220 864 bytes free
Ну и можно добавить удаление лога при старте (если нужно), чтобы не дополнялся файл, а пересоздавался
Роман
(588)
Я не верно написал вернее так
echo %%i >> "Отладка [%name%].txt"
Странно но почему то 1>&2 не перенаправляет в файл ошибки =( в данном случае то есть так:
for /f "tokens=* delims=" %%i in ('"Батник. bat"') do (
echo %%i
echo %%i 2>> "Отладка [%name%].txt" 1>&2
)

Ответ от Gerion[гуру]
В сети найти не сложно.
@echo off
SET q= log1.txt
SET w= type log1.txt
SET e= log2.txt
echo command1 >%q%&%w%>>%e%&%w%
echo command2 >%q%&%w%>>%e%&%w%

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: [CMD] Можно ли перенаправить вывод команды так чтобы он шел допустим не только в файл но и одновременно на экран?

Как сохранить результат выполнения команд в cmd (в командной строке)?
А можно пометить (выделить что надо) - нажать Enter.
Затем открыть блокнот и вставить то, что в
подробнее...
Петухов Виктор Николаевич на Википедии
Посмотрите статью на википедии про Петухов Виктор Николаевич
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*