2009-08-11 16 views
0

ビルド前にすべてのファイルが存在するかどうかを確認するにはどうすればよいでしょうか?プロジェクトをビルドする前にすべてのファイルが存在するかどうかを調べる

説明します。私は主にコマンドプロンプトから物を作ります。問題はありません。ビルドコマンドとすべてを1つの.bat /.cmdファイルに入れて実行するだけです。それはうまく動作します。

しかし、私のプログラムの通常の実行では、ビルドのためにいくつかのソースファイルが必要であり、その後いくつかのデータファイルや測定データなどが必要になります。

ファイルが存在するかどうかをバッチファイルでテストする方法はありますか?ファイルが存在するかどうかを確認するだけですか?ディレクトリ

から欠落OK
file2.for OK
file1.for

datafile.txt OK DATA.DATはどのようにこれを達成することができますか?

答えて

1

を参照してください。

@Echo Off 
SetLocal EnableExtensions EnableDelayedExpansion 
Set FileList=file1.for file2.for "File with spaces" ... 
Set Build=1 
For %%f In (%FileList%) Do Call :FileExists %%f 

If Not Defined Build (
    Echo. 
    Echo Build aborted. Files were missing. 
    GoTo :EOF 
) 

... 

GoTo :EOF 

:FileExists 
Set FileName=%~1 
If Exist "!FileName!" (
    Echo !FileName! OK 
) Else (
    Echo !FileName! MISSING FROM DIRECTORY 
    Set Build= 
) 
GoTo :EOF 

あなたはFileList変数にすべてのファイルを置くことができます。 Build変数は、ビルドを続行するかどうかを制御します。失われたファイルが1つあれば、そのファイルは取り消されます。

1

これは何か?使用可能なコマンドのリストについては

@ECHO OFF 
IF EXIST "c:\myfile1.txt" (ECHO myfile1.txt OK) ELSE (ECHO myfile1.txt FILE MISSING FROM DIRECTORY) 
IF EXIST "c:\myfile2.txt" (ECHO myfile2.txt OK) ELSE (ECHO myfile2.txt FILE MISSING FROM DIRECTORY) 

、もう少し高度なアプローチとしてhttp://ss64.com/nt/

関連する問題