У меня есть пакетный файл (.BAT), и я хотел бы автоматически записывать его выходные данные в файл при каждом запуске. Я знаю, что могу использовать перенаправление, но тогда я не смогу смотреть, как оно работает. Кроме того, другие люди используют этот пакетный файл, и я хочу, чтобы журнал создавался без необходимости делать что-либо особенное.
создать журнал из пакетного файла
Ответы (2)
Тройник для окон? http://www.chipstips.com/?p=129
person
joni
schedule
25.10.2010
Есть ли способ использовать tee, не заставляя пользователя вводить его (имеется в виду: они просто запускают мой пакетный файл, и пакетный файл каким-то образом автоматически вызывает tee)
- person JoelFan; 26.10.2010
@JoelFan: Да, есть простой способ: использовать другой пакетный файл (или тот же пакетный файл, вызывающий сам себя с другими параметрами).
- person Dirk Vollmar; 26.10.2010
Если вы не хотите загружать или устанавливать tee, вы можете использовать простую подпрограмму для ее эмуляции:
rem log <message>
:log
echo.%*
1>>logfile.txt echo.%*
а затем просто выведите, используя call :log Some crazy message. Это будет работать только для ваших собственных сообщений, однако ничего не делает с программами, которые вы запускаете из своего пакета. Вероятно, вы могли бы сделать это, введя другую подпрограмму:
rem runlog <program> <arguments>
:runlog
setlocal
set FN=%RANDOM%
1>%FN%.tmp 2>&1 %*
type %FN%.tmp
1>>logfile.txt type %FN%.tmp
del %FN%.tmp
endlocal
person
Joey
schedule
27.10.2010