2017-02-08 7 views
0

Я пытаюсь написать простой цикл, который выполняет итерации по строкам файла данных, содержащего путь к определенным файлам, и проверяет, существуют ли они, это код, который у меня есть до сих пор:Переменная была неожиданна на данный момент

:: read file line by line 

for /f "tokens=*" %%a in (%DATAFILEPATH%) do (
IF EXISTS %%a (
    echo FILE %a EXISTS 
) 
) 
pause 

И я получаю следующее сообщение об ошибке, но я не понимаю, почему:

%a was unexpected at this time. 

Спасибо заранее.

+4

Командная строка '% a' Пакетный файл:' %% a'. Кроме того, 'if exist' –

+0

[Командная строка Windows * NOT * a DOS prompt!] (Https://scalibq.wordpress.com/2012/05/23/the-windows-command-prompt-is-not- а-дос-приглашение /) – aschipfl

ответ

1

У вас было две основные проблемы, первая из которых во множественном числе EXISTS и второй особой %a попробовать так:

REM read file line by line 

FOR /F "TOKENS=*" %%a IN (%DATAFILEPATH%) DO (
    IF EXIST "%%~a" ECHO FILE %%a EXISTS 
) 

PAUSE 

Если местоположение идентифицированы %DATAFILEPATH% была папка/Справочник, то вы бы изменили IF линия до IF EXIST "%%~a\" ECHO FOLDER %%a EXISTS

 Смежные вопросы

  • Нет связанных вопросов^_^