Ссылка на все файлы в папке и ее подпапках определенного типа
В файле.bat я выполняю компилятор со строкой
cl -GL -Od -Zi <all .h files> <all .c files>
но я не знаю, как ссылаться на все файлы.c и.h таким образом. Я думал о */.c и */.h, но оба эти аргумента неверны. Можно ли как-то ссылаться на все файлы.c и.h?
1 ответ
Решение
cl не позволяет вам сделать это, но если вы хотите скомпилировать все файлы C в каждой папке, начиная с определенной точки, то вы можете сделать что-то вроде следующего.
Обратите внимание, что с этими параметрами команды вы также не можете передать файл заголовка.
@echo off
set USAGE=Usage: %~n0 "C:\Existent Start Dir"
if %1xx == xx ( echo %USAGE% & exit /b 2 )
if not exist "%~1" ( echo %USAGE% & exit /b 1 )
for /r "%~dpn1" %%f in (.) do (
pushd %%f
if exist *.c (
echo *** Compiling C files in %%f ***
call cl -GL -Od -Zi *.c
echo.
)
popd
)
Проверьте это с помощью: test.cmd C:\mytest
Если C:\mytest содержит несколько папок простых файлов *.c и *.h, это будет работать. test.cmd C:\mytest
Возможно, вы действительно хотите вызвать nmake?