Автор Ѐоман задал вопрос в разделе Системное администрирование
[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
)
В сети найти не сложно.
@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%
Как сохранить результат выполнения команд в cmd (в командной строке)?
А можно пометить (выделить что надо) - нажать Enter.
Затем открыть блокнот и вставить то, что в
подробнее...