Я повинен використовувати це vera ++ інструмент проти декількох *.cpp
і *.h
файлів.
Я приймаю назву файлу як параметр.
Як шукати *.cpp
файли та їх надсилання vera++
?
Це один-лайнер або мені потрібен пакетний сценарій?
Я повинен використовувати це vera ++ інструмент проти декількох *.cpp
і *.h
файлів.
Я приймаю назву файлу як параметр.
Як шукати *.cpp
файли та їх надсилання vera++
?
Це один-лайнер або мені потрібен пакетний сценарій?
Відповіді:
Тільки поточна папка:
for %i in (*.cpp *.h) do vera++ "%~i"
Включаючи підпапки:
for /r . %i in (*.cpp *.h) do vera++ "%~i"
/r .
означає "початок у поточній папці". Якщо потрібно вказати інше ім'я папки, використовуйте for /r newfolder
.
bat
Файл результату ~i" was unexpected at this time
(грубий переклад з португальської)
for
у пакетному файлі потрібно подвоїти %
s - так: for %%i in (*.cpp *.h) do vera++ "%%~i"
Це, звичайно, єдиний лайнер в документації. Ось варіанти:
find . -name '*.h' | xargs vera++ -profile my_favouriteІ з відповідним набором інструментів, таким як власний Microsoft завантажуваного інструментарію SFUA що працює на Windows 7 Підсистема для додатків на основі UNIX (що поставляється в коробці з Windows 7 Ultimate Edition і Windows Server 2008 R2 - для Windows XP можна завантажити та встановіть Послуги для UNIX версії 3.5 .) є такі інструменти, як
find
і xargs
для Windows. Є, звичайно, також GNUWin32 , cygwin , і unxutils . SELECT
команду інтерактивно вибирати файли для обробки: SELECT vera++ [*]Зверніть увагу на квадратні дужки, які змушують об'єднати всі імена файлів в одну команду.
FOR
команду обробляти файли після їх знаходження (скажімо) з DIR
команду : DIR /B /S *.cpp;*.h|FOR F IN (@CON) do vera++ %Fабо просто обробляти їх безпосередньо
FOR
має варіант рекурсії: FOR /R F IN (*.cpp;*.h) DO vera++ %FЦе, звичайно, виконує команду один раз для кожного знайденого файлу.
find.exe
(для пошуку рядків усередині файлів), тоді ви повинні вказати, який пошук ви хочете використовувати