Я пытаюсь сделать что-то похожее на Получить Visual Studio для запуска шаблона T4 для каждой сборки, используя cmd forfiles
, чтобы преобразовать каждый шаблон в VS2008.
Если я выполняю
forfiles /m "*.tt" /s /c "\"%CommonProgramFiles(x86)%\Microsoft Shared\TextTemplating\1.2\TextTransform.exe\" @file"
тогда я получаю сообщение об ошибке TextTransform.exe
(экран текста, объясняющий, как передать его в качестве аргументов).
Если я вместо этого выполняю
forfiles /m "*.tt" /s /c "cmd /c echo Transforming @path && \"%CommonProgramFiles(x86)%\Microsoft Shared\TextTemplating\1.2\TextTransform.exe\" @file"
тогда он отлично работает.
Чтобы отладить это, я создал простую программу командной строки под названием debugargs
, которая просто печатает количество аргументов, которые оно получает, и их значения. Затем некоторые эксперименты показывают, что первая форма прямого прохождения команды до forfiles
вызывает проглатывание первого аргумента. Например.
forfiles /m "*.tt" /s /c "debugargs.exe 1 2 3"
выводит вывод
2 arguments supplied
#1: 2
#2: 3
документация Я смог найти довольно редкий вариант, и я не вижу упоминания об этом как возможности. Это просто непонятная ошибка, или я чего-то не хватает?