引用文件夹及其特定类型子文件夹中的所有文件

时间:2012-06-29 17:24:25

标签: batch-file filereference all-files

在.bat文件中,我正在使用行

执行编译器
cl -GL -Od -Zi <all .h files> <all .c files>

但我不知道如何以这种方式引用所有.c和.h文件。我在考虑* / .c和* / .h,但这两个都是无效的参数。有没有办法以这种方式引用所有.c和.h文件?

1 个答案:

答案 0 :(得分:0)

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?