私は通常バッチを使用していないので、これが明らかな場合はご容赦ください。これには Make を使用したくないのですが、必要に応じて使用します。しかし、代わりにこれを修正できるかどうか見てみましょう:
フォルダ内の(のみ)137個の.cを通過し、変更日を.oと比較し、新しい場合は再コンパイルします。
内側の for ループは、新しいファイルの名前を%%I
変数に入れるだけなので、2 次実行時間を持つべきではありませんが、問題は遅すぎることです。再コンパイルする必要がない場合でも、10 秒かかります。各ペアをループして並べ替えるだけです。
for %%f in (*.c) do (
For /F "Delims=" %%I In ('dir /b /OD %%~nf.o %%~nf.c ^| more +1') do (
if %%I == %%~nI.c (
REM recompile the file
) else (
REM skip it
)
)
)