Проверьте наличие всех файлов перед созданием проекта - PullRequest
0 голосов
/ 11 августа 2009

Как лучше всего проверить наличие всех файлов перед сборкой?

Позвольте мне объяснить; Я в основном собираю вещи из командной строки. Никаких проблем, просто поместите команду build и все в один файл .bat /.cmd и запустите ее. Работает нормально.

Но для нормальной работы моей программы, например, мне нужно несколько исходных файлов для сборки, а затем еще несколько файлов данных, данные измерений и тому подобное.

Есть ли способ проверить через пакетный файл, существует ли файл, и если он существует, просто напишите ОК?

file1.for OK
file2.for OK
datafile.txt ОК data.dat ОТПУСК ИЗ СПРАВОЧНИКА

Как это могло быть достигнуто?

Ответы [ 2 ]

1 голос
/ 11 августа 2009

Как немного более продвинутый подход:

@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 голос
/ 11 августа 2009

Как то так?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...