I'm fairly certain this has already been asked here, but I have not been able to find a thread that can actually help me.
What I want to do is have a batch file that will look for a text file, and if it is found, verify that the contents are correct. My current code is as follows:
:SEARCHFILE
if exist "C:\FOLDER\TEXT.TXT" (
goto :SEARCHCONTENTS
) else (
goto :SEARCHFAIL1
)
:SEARCHCONTENTS
COLOR A0
ECHO FILE FOUND. VERIFYING FILE.
set /p INPUT=< "C:\FOLDER\TEXT.TXT"
IF %INPUT%==LONGSTRINGOFTEXT (
GOTO :SEARCHSUCCESS
) ELSE (
GOTO :SEARCHFAIL2
)
:SEARCHFAIL1
COLOR 40
ECHO FILE NOT FOUND.
ECHO FILE WILL NOW BE CREATED.
GOTO :CREATEFILE
:SEARCHFAIL2
COLOR 40
ECHO FILE NOT VALID.
ECHO FILE WILL NOW BE REPAIRED.
GOTO :CREATEFILE
:CREATEFILE
ECHO LONGSTRINGOFTEXT > "C:\FOLDER\TEXT.TXT"
:SEARCHSUCCESS
COLOR A0
ECHO FILE SUCCESSFULLY VALIDATED.
PAUSE
Originally, the text file was going to have 25 lines, and the batch would verify each one like this:
set /p INPUT1=< "C:\FOLDER\TEXT.TXT"
set /p INPUT2=<< "C:\FOLDER\TEXT.TXT"
set /p INPUT3=<< "C:\FOLDER\TEXT.TXT"
..
set /p INPUT25=< "C:\FOLDER\TEXT.TXT"
IF NOT %INPUT1%==LONGSTRINGOFTEXT1 GOTO :SEARCHFAIL2
IF NOT %INPUT2%==LONGSTRINGOFTEXT2 GOTO :SEARCHFAIL2
IF NOT %INPUT3%==LONGSTRINGOFTEXT3 GOTO :SEARCHFAIL2
..
IF NOT %INPUT25%==LONGSTRINGOFTEXT25 GOTO :SEARCHFAIL2
I would still like to do it this way if possible, but I still have no clue what the syntax error is in the line that inputs the "LONGSTRINGOFTEXT" into the batch.
Any advice?