У меня есть пакет, в котором есть подраздел, который перебирает строки файла для запуска EXE-файлов, а затем пакет сортирует EXE-файлы на основе их кодов выхода.
По какой-то причине ANSI SGR, кажется, ломает или повторяет буквальный текст после установки графического представления предыдущего вместо его повторного рендеринга.
Я вернулся, чтобы повторно сослаться на этот вопрос и исходную документацию, но я не уверен, почему эта конкретная область моих пакетов искажает окраску ANSI внутри консоли после вывода первой строки.
Я заменил свой инструмент только блокнотом, который вы можете закрыть вручную для нулевого выхода или использовать панель управления, чтобы завершить процесс, чтобы получить ненулевой выход.
Содержимое test_map.log
не должно иметь большого значения, поскольку на самом деле вы используете только Блокнот и отправляете ему некоторые аргументы. Вот что у меня настроено:
C:\temp\qt_selftest.exe
C:\temp\sub_test.exe
C:\temp\cmd_module_test.exe
C:\temp\failing_qt_test.exe
C:\temp\passing_qt_test.exe
C:\temp\random_qt_test.exe
C:\temp\fail_module.exe
C:\temp\pass_module.exe
И как вы можете видеть на скриншоте, линии трактуются буквально. В самом пакете, из которого я это вытащил, он снова работает... но в этом блоке и только в этом блоке он сломан.
Любая идея, где я могу все испортить?
Я не могу поделиться кодом напрямую из-за преобразования последовательностей ESC, поэтому вот суть: >https://gist.github.com/the-nose-knows/1bebce2719e020188c6307cff736f951
Если вам нужно повторно добавить их перед [
, используйте альтернативный код 027, как alt 0 2 7
bool process_created = CreateProcess(obj.process_name.c_str(), parameters, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, p_startup_info, p_proc_info);
, и в последнее время я не делал много обновлений для этого инструмента, но я мог вызвать что-то, что изменило его поведение в пакетных файлах. Возможно, тот факт, что я теперь всегда заполняю cmd-params хотя бы процессом, который нужно создать, сделал его внешним. - person kayleeFrye_onDeck   schedule 04.07.2017for
, как только он восстанавливает режим запуска консоли для выполнения notepad.exe, он никогда не сбрасывается в свой собственный режим до выхода из цикла. По-видимому, это зависит исключительно от цикла оценки пакетного сценария верхнего уровня, который сбрасывает режим консоли между операторами. - person Eryk Sun   schedule 04.07.2017