2015-05-22 2 views
0

Я хочу объединить 3 строки и получить полный путь к файлу. Но когда я проверяю наличие файла, он терпит неудачу. Просьба предложить способ сделать этоКак проверить существование файла с пакетной программой

set "path=D:\Build" 
set "config=x86" 
set "type=Release" 
set "fileName=abc.dll" 



set "filePath=%path%\%config%\%type%\%fileName%" 

if exist filePath (
:copy file code) 

ответ

1

Путь является система/переменная окружения, так тщательно использовать.

PATH - системная переменная, используемая вашей операционной системой для поиска необходимых исполняемых файлов из командной строки или окна терминала.

PFB работает пример запроса:

@echo off 
set "fpath=D:\Build" 
set "config=x86" 
set "type=Release" 
set "fileName=abc.dll" 

set "filePath=%fpath%\%config%\%type%\%fileName%" 

IF EXIST "%filePath%" (
    ECHO YES 
) ELSE (
    ECHO NO 
) 
+0

@ Rajesh, как ваш ответ поможет решить мою проблему –

+0

@ anil-kumar, я добавил рабочий пример здесь. – Rajesh

+0

Благодарим вас за решение и советы .. Он отлично работает –

1

Вы забыли расширить переменную пути к файлу!

if exist %filePath% (
:copy file code) 

В противном случае вы проверяете файл с именем «filePath». Кроме того, если путь к файлу может содержать пробелы, вы должны заключить его в кавычки:

if exist "%filePath%" (
:copy file code) 

Наконец, вы не должны изменять path переменную как предложено Раджеш (ни date, ни time, и т.д.), но это не является причиной вашей проблемы.

+0

Спасибо @Aacini .. Его работа –