2009-08-11 7 views
0

빌드하기 전에 모든 파일의 존재 여부를 확인하는 가장 좋은 방법은 무엇입니까?프로젝트를 빌드하기 전에 모든 파일의 존재 여부 확인

설명해 드리겠습니다. 나는 주로 명령 프롬프트에서 물건을 만듭니다. 거기에 아무런 문제가 없으며 빌드 명령과 모든 것을 하나의 .bat/.cmd 파일에 넣고 실행하십시오. 그것은 잘 작동합니다.

그러나 내 프로그램의 정상적인 실행을 위해 예를 들어 몇 가지 소스 파일을 빌드 한 다음 몇 가지 추가 데이터 파일과 측정 된 데이터 등이 필요합니다.

파일이 존재하는지 여부를 배치 파일을 통해 테스트하는 방법이 있습니까? 존재하는 경우 그냥 쓰기 만합니까? file2.for OK
file1.for

확인

DIRECTORY

에서 누락은 data.dat
datafile.txt 확인 이것은 어떻게 달성 할 수 있을까?

답변

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/

관련 문제