2009-08-11 304 views
0

如何在構建之前檢查所有文件的存在情況?構建項目之前檢查是否存在所有文件

讓我解釋一下;我主要是從命令提示符構建的東西。沒有問題,只需將build命令全部放在一個.bat /.cmd文件中,然後運行它。它工作正常。

但是,對於我的程序的正常運行,例如,我需要幾個源文件的構建,然後額外的幾個數據文件,測量數據等。

有沒有一種方法可以通過批處理文件測試一個文件是否存在,以及它是否存在只需寫入OK?

file1.for OK
file2.for OK
datafile.txt OK data.dat文件失蹤DIRECTORY

這怎麼可能實現呢?

回答

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

像這樣的東西?

@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/

相關問題