Если проблема заключается в дополнительном времени компиляции и раздувании бинарного размера, полученном путем компиляции .h как части всех используемых им .cpp-модулей, во многих случаях то, что вы можете сделать, - это сделать класс шаблона опустившимся из не-шаблонного базовый класс для не зависящих от типа частей интерфейса, и что базовый класс может иметь свою реализацию в файле .cpp.
Если я правильно понимаю, то, что вы ищете, это способ «передать» конвейер как на консоль, так и на файл журнала.
Команда tee
долгое время использовалась в UNIX / Linux. Нет такой вещи в Windows cmd.exe. Но PowerShell имеет Tee-Object
. В командной строке PowerShell используйте help Tee-Object -full
для получения дополнительной информации.
powershell -NoLogo -NoProfile "& .\very_good02.bat | Tee-Object -FilePath 'C:\src\t\very_good02.log'"
Естественно, это проще, если весь ваш сценарий написан на PowerShell, а не на языке сценариев cmd. Вам не нужно использовать PowerShell, но это четко заявленное направление от Microsoft.
Мне напоминают, что на самом деле это можно сделать с помощью скрипта cmd .bat file. Не легко, но это можно сделать. https://www.dostips.com/forum/viewtopic.php?p=32615#p32615 Если кто-то может сделать это с помощью сценария файла .bat, мистер Бенхам может.
Извините, у меня недостаточно представителей, чтобы комментировать, поэтому мне придется ответить. Ссылка в моем первом комментарии отвечает на ваш вопрос, даже несмотря на то, что OP запрашивает перенаправление вывода команды DIR на консоль и файл.
Я думаю, что вы хотите того же. Короткий ответ НЕТ ... Не без некоторых уловок и не в чистом сценарии BATCH. Ниже приведен раздел по ссылке:
No, you can't with pure redirection.
But with some tricks (like tee.bat) you can.
I try to explain the redirection a bit.
You redirect one of the ten streams with > file or < file
It is unimportant, if the redirection is before or after the command, so these two lines are nearly the same.