Давным давно сделано для себя, позволяет запускать батники с перенаправлением стандартного вывода и ошибок в лог. Имя лог-файла можно генерировать любое, используя переменные окружения. Единственная засада, это переменная %TIME%, которая содержит двоеточия, но это уже отдельная тема. В примере ниже, лог назван по имени компьютера, на котором запускался скрипт.
Удобно для различных logon-скриптов и батников засунутых в шедулер.
@echo off
setlocal
set eXec=Fetch.cmd
set Log_FN=%ComputerName%_fetch.log
call %eXec%>>%Log_FN% 2>&1
endlocal