[前の記事]« [NT系]FOR文中で連番を自動生成したい
[次の記事]データファイルの各行末に文字列を追加したい »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「EXIST」索引へ
▲カテゴリー「FOR .. IN ( ) DO..」索引へ

複数ディレクトリ下のファイルの存在チェック

696.
ファイルの検索
2004年08月02日(月) 09時31分
うちまき
はじめまして。環境・・W2Kで
C:\AA01の下にBB01BB02BB03~BB07まで7つのサブフォルダが存在します。AA01のフォルダ下にQQ01.CSV,QQ02.CSV等という複数のファイルが存在し、そのファイル名がBB01~BB07までのサブフォルダ下にそれぞれ存在するかどうかチェックをしたいのですが、
バッチファイルではどのような方法で検知できるでしょうか?
ご存知の方、どうかご教授ねがいませんでしょうか?よろしくお願いいたします。
707.
Re:ファイルの検索
2004年08月03日(火) 21時40分
YanaKen
うちまき さん

>C:\AA01の下にBB01BB02BB03~BB07まで7つのサブフォルダが存在します。
 なんか字がくっついちゃってますが、
>C:\AA01の下にBB01 BB02 BB03 ~ BB07まで7つのサブフォルダが存在します。

 ……ということですね。

>AA01のフォルダ下にQQ01.CSV, QQ02.CSV等という複数のファイルが存在し、
>そのファイル名がBB01~BB07までのサブフォルダ下にそれぞれ存在するかどうか

 このへん、ややこしくておっしゃりたいことがいまいちよくわからない面がありますが、要は「あるディレクトリ下の複数のサブディクトリにまたがって、条件に合致する名前のファイルを検索したい」ということでしょうか。
 Windows2000などのNT系では、とりあえずこんなカタチが基本パターンになると思います。(詳しくは for /? )

for /r c:\aa01 %%a in (qq*.csv) do echo %%a が見つかりました。

「目指すファイルがあるかどうか」をチェックする文法としてはもう1つ「if exist ファイル名 ...」というのがありますが、ご質問のケースにはたぶん(少なくともそれ単体では)向かなそうです。

YanaKen
710.
Re2:ファイルの検索
2004年08月04日(水) 02時40分
oo
>うちまき さん

>>C:\AA01の下にBB01BB02BB03~BB07まで7つのサブフォルダが存在します。
> なんか字がくっついちゃってますが、
>>C:\AA01の下にBB01 BB02 BB03 ~ BB07まで7つのサブフォルダが存在します。

> ……ということですね。

>>AA01のフォルダ下にQQ01.CSV, QQ02.CSV等という複数のファイルが存在し、
>>そのファイル名がBB01~BB07までのサブフォルダ下にそれぞれ存在するかどうか

> このへん、ややこしくておっしゃりたいことがいまいちよくわからない面がありますが、
>要は「あるディレクトリ下の複数のサブディクトリにまたがって、
>条件に合致する名前のファイルを検索したい」ということでしょうか。

いや、おそらく、
@echo off
setlocal enabledelayedexpansion
for %%F in (C:\AA01\*.CSV) do (
 set NASHI=
 for %%D in (BB01 BB02 BB03 BB04 BB05 BB06 BB07) do if not exist C:\AA01\%%D\%%~nxF set NASHI=!NASHI! %%D
 if defined NASHI echo ファイル %%~nxF は 以下のディレクトリに無し !NASHI!
)
違うかなぁ?
 
 


カテゴリー「EXIST」索引へ
カテゴリー「FOR .. IN ( ) DO..」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年08月02日 08:41に投稿されたエントリーのページです。

ひとつ前の投稿は「[NT系]FOR文中で連番を自動生成したい」です。

次の投稿は「データファイルの各行末に文字列を追加したい」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート