I have a batch script which is supposed to parse a file with file names and timestamps in it.
:MAIN
SETLOCAL EnableDelayedExpansion
FOR /F "tokens=1,2,4 skip=7" %%A in (C:\list_of_psa_files.txt) DO
@echo %%A %%B %%C
exit
The file C:\list_of_psa_files.txt has the following data in it
Volume in drive C is Windows XP 6.6
Volume Serial Number is AC12-84AA
Directory of C:\Test
10/05/2011 03:17 PM <DIR> .
10/05/2011 03:17 PM <DIR> ..
10/05/2011 01:21 PM 4,393 1-16332-1008261.psa
10/05/2011 01:21 PM 4,863 1-16332-1011698.psa
10/05/2011 01:21 PM 4,793 1-16332-1023151.psa
10/05/2011 01:21 PM 4,916 1-16332-1035695.psa
10/05/2011 01:21 PM 4,524 1-16332-1037029.psa
10/05/2011 01:21 PM 4,235 1-16332-1049340.psa
10/05/2011 01:21 PM 3,135 1-16332-1049926.psa
10/05/2011 01:21 PM 4,657 1-16332-1054756.psa
However, when I am running my script it is failing with a message invalid syntax. Can somebody please help me figure out where am I going wrong.
All I am trying to do is to get the date, time and the filename without the extension written to a new file from my old file.
Thanks for your time – appreciate it.
Sanders.
If you really have your
echoon a separate line (and it’s not an artefact of the editing process), you can’t do that. You will need to use either one line or:When I create the file and script you show, I get:
When I then change it to my suggested variant, it outputs:
as expected. The same output appears when you do it on one line with: