2017-02-08 5 views
0

Ich versuche, eine einfache Schleife zu schreiben, die über die Zeilen einer Datendatei iteriert, Pfad zu bestimmten Dateien enthält, und prüfen, ob sie existieren, das ist der Code, den ich bis jetzt habe:Variable war zu diesem Zeitpunkt unerwartet

:: read file line by line 

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

und ich erhalte die folgende Fehlermeldung, aber ich verstehe nicht, warum:

%a was unexpected at this time. 

Vielen Dank im Voraus.

+4

Befehlszeile '% a' Batchdatei:' %% a'. Auch, wenn 'exist' –

+0

[Die Windows-Eingabeaufforderung ist * NOT * eine DOS-Eingabeaufforderung!] (Https://scalibq.wordpress.com/2012/05/23/the-windows-command-prompt-is-not- A-Dos-Aufforderung /) – aschipfl

Antwort

1

Sie hatten zwei Hauptprobleme, die erste eine Mehrzahl EXISTS und die zweite eine singuläre %a es so versuchen zu sein:

REM read file line by line 

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

PAUSE 

Wenn der Standort von %DATAFILEPATH% war ein Ordner identifiziert/Verzeichnis dann würden Sie die IF Linie zu IF EXIST "%%~a\" ECHO FOLDER %%a EXISTS

ändern
Verwandte Themen