こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

バッチファイル フォルダ存在 確認

いつも大変御世話になっております。

WindowsXP SP2に【D:\test\bat】フォルダに【test.bat】があります。

上記バッチファイルは以下のようになっています。

コード------------------------------------------------

rem --- 時間変数 ---
set yyyy=%date:~-10,2%
set yy=%date:~-8,2%
set mm=%date:~-5,2%
set dd=%date:~-2,2%
set YMD=%date:~-8,10%
set HHMMSS=%time:~0,8%
set FILE_DATE=%date:~-10,4%%date:~-5,2%%date:~-2,2%%TIME:~0,2%%TIME:~3,2%
set FILE_DATE=%FILE_DATE: =0%
rem --- フォルダ変数 ---
set log=D:\test\drive_xcopy\log
set INP_DIR=D:\test\drive_xcopy\in
set OUT_DIR=D:\test\drive_xcopy\out\
rem --- ファイル変数 ---
set logName=log.txt

echo "%YMD%","%HHMMSS%","FOLDER.bat","処理開始" >> %log%\%logName%

REM フォルダコピー
XCOPY "%INP_DIR%" "%OUT_DIR%" /e /Y >> %log%\%logName%

echo "%YMD%","%HHMMSS%","FOLDER.bat","処理終了" >> %log%\%logName%


コード------------------------------------------------

単純に【D:\test\drive_xcopy\in\】内のすべてのフォルダを
【D:\test\drive_xcopy\out\】内にコピーしています。

ちなみに、、【D:\test\drive_xcopy\in\】フォルダには100個フォルダがあります。

実現したい事は、コピー対象となる100個フォルダがちゃんとコピーされ、
コピー先にすべて確実存在しているかを【コピー元⇔コピー先】とで
1つ1つマッチング処理したいのです。

すべて存在していれば、上記ログファイルに
100フォルダすべてが存在しています。
と書き込み、

1つでも存在していなければ、上記ログファイルに
○○○フォルダがコピー先に存在していません。
それ以外は存在しています。
と書き込むような処理を実現したいのです。

コピー先に存在していないのが複数であれば
下記のようなログメッセージを書き込みたいです。

ログメッセージ例-----------------------

○○○フォルダがコピー先に存在していません。
×××フォルダがコピー先に存在していません。
それ以外は存在しています。

ログメッセージ例-----------------------


For文とIF文をうまく使い、フォルダを変数で順に格納してマッチングするような
作成になると思いますが、難しくて苦戦しています。

方法をご存知の方がいれば、ご教授願いますでしょうか?

※サンプルがあれば、光栄です。

宜しくお願い致します。

投稿日時 - 2009-11-21 19:33:23

QNo.5465279

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

if exist ~

投稿日時 - 2009-11-21 20:27:48

あなたにオススメの質問