プロが教えるわが家の防犯対策術!

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

お世話になります。
現在カレントに6つのディレクトリとバッチがあります。
バッチを叩くと指定ディレクトリのmakeファイルというファイルを実行するようにしています。
ですが構成を変えまして、サブディレクトリのmakeファイルも実行出来るように変更したいと思っています。
どのようにすればよろしいでしょうか?

以下が現在のソースです。
@echo off
setlocal enabledelayedexpansion

setDIRS=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ファイル

A 回答 (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系でいいんですよね?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!