Пакетный скрипт - неверный синтаксис в FOR / F - PullRequest
0 голосов
/ 06 октября 2011

У меня есть пакетный скрипт, который должен анализировать файл с именами файлов и временными метками.

: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

Файл C: \ list_of_psa_files.txt содержит следующие данные

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

Однако, когда я запускаю свой скрипт, он терпит неудачу с неверным синтаксисом сообщения. Может кто-нибудь, пожалуйста, помогите мне выяснить, где я иду не так.

Все, что я пытаюсь сделать, это получить дату, время и имя файла без расширения, записанные в новый файл из моего старого файла.

Спасибо за ваше время - цените его.

Сандерс.

1 Ответ

2 голосов
/ 06 октября 2011

Если у вас действительно есть ваш echo на отдельной строке (и это не артефакт процесса редактирования), вы не сможете этого сделать.Вам нужно будет использовать либо одну строку, либо:

FOR /F "tokens=1,2,4 skip=7" %%A in (C:\list_of_psa_files.txt) DO (
    @echo %%A %%B %%C 
)

Когда я создаю файл и скрипт, который вы показываете, я получаю:

The syntax of the command is incorrect.

Когда я затем изменяю его на предложенный вариантвыводит:

10/05/2011 01:21 4,393
10/05/2011 01:21 4,863
10/05/2011 01:21 4,793
10/05/2011 01:21 4,916
10/05/2011 01:21 4,524
10/05/2011 01:21 4,235
10/05/2011 01:21 3,135
10/05/2011 01:21 4,657

, как и ожидалось.Тот же вывод появляется, когда вы делаете это в одной строке с:

FOR /F "tokens=1,2,4 skip=7" %%A in (C:\list_of_psa_files.txt) DO @echo %%A %%B %%C 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...