• 締切済み

バッチファイルのディレクトリ内のファイル検索について

バッチファイルのディレクトリ内のファイル検索について お世話になります。 現在カレントに6つのディレクトリとバッチがあります。 バッチを叩くと指定ディレクトリのmakeファイルというファイルを実行するようにしています。 ですが構成を変えまして、サブディレクトリのmakeファイルも実行出来るように変更したいと思っています。 どのようにすればよろしいでしょうか? 以下が現在のソースです。 @echo off setlocal enabledelayedexpansion set DIRS=libSrc clientSrc serverSrc for /d %%a in (%DIRS%) do ( cd %%a cd if EXIST makefile.mak ( make %* ) else ( if EXIST Integ.bat ( call Integ.bat %* ) ) cd ..\ ) endlocal フォルダ構成は bin clientSrc include lib libSrc serverSrc となっており、makeファイルはclientSrc、libSrc、serverSrcにあります。 そこでlibSrcだけ新たにフォルダを2つ作成し、そのフォルダの中のmakeファイルも拾えるようにしたいです。 よろしくお願いします。 bin clientSrc ---- makeファイル include lib libSrc ----|--- myLib ----- makeファイル |--- socketLib --- makeファイル serverSrc---makeファイル batファイル

みんなの回答

  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

こんなかんじになりますでしょうか。 @echo off setlocal enabledelayedexpansion set DIRS=libSrc clientSrc\myLib clientSrc\socketLib serverSrc set NOWCD="%CD%" for %%a in (%DIRS%) do ( cd %%a cd if EXIST makefile.mak ( make %* ) else ( if EXIST Integ.bat ( call Integ.bat %* ) ) cd %NOWCD% ) endlocal バッチはOSによって使える機能が違うのでバージョンは明記した方がよいです。 setlocalがあったのでNT系でいいんですよね?

関連するQ&A