Я должен использовать этот инструмент vera++ против нескольких файлов *.cpp и *.h .
Я принимаю имя файла в качестве параметра.
Как искать файлы *.cpp и отправлять их на vera++?
Это однострочник или мне нужен пакетный скрипт?
1
 2 ответа
3
Только текущая папка:
for %i in (*.cpp *.h) do vera++ "%~i"
Включая подпапки:
for /r . %i in (*.cpp *.h) do vera++ "%~i"
/r . означает "начать в текущей папке". Если вы хотите указать другое имя папки, используйте for /r newfolder .
3
Это одна строка в документации, конечно. Вот варианты:
- Делайте то, что говорится в документации.  В документации сказано находить . -имя '* .h' | xargs vera++ - профиль my_favourite И с соответствующим набором инструментов, таким как собственный загружаемый набор утилит SFUA от Microsoft, который работает в подсистеме Windows 7 для приложений на основе UNIX (поставляется в комплекте с Windows 7 Ultimate Edition и Windows Server 2008 R2 - для Windows XP можно загрузить и установите Службы для UNIX версии 3.5.) У каждого есть такие инструменты, какfindиxargsдля Windows. Есть, конечно же, GNUWin32, cygwin и unxutils.
- Если вы используете TCC /LE от JP Software, вы можете использовать встроенную команду SELECTдля интерактивного выбора файлов для обработки:ВЫБЕРИТЕ vera++ [*] Обратите внимание на квадратные скобки, которые приводят к объединению всех имен файлов в одну команду.
- Используя ортодоксальный файловый менеджер, такой как File Commander для Windows или FAR, вы можете аналогичным образом выбрать файлы для интерактивной обработки и вставить их в командную строку, нажав соответствующую клавишу.
- Если вы используете TCC /LE от JP Software, вы можете использовать встроенную команду FORдля обработки файлов после их поиска (скажем) с помощью командыDIR:DIR /B /S * .cpp; *. H | FOR F IN (@CON) do vera++% F или просто обработайте их напрямую, посколькуFORимеет опцию рекурсии:FOR / RF IN (* .cpp; *. H) DO vera++% F Это, конечно, запускает команду один раз для каждого найденного файла.
- Или вы можете сделать то, что сказал Гравити.
