Перейти к содержимому

Что не так с этим циклом for в моем скрипте?

0
K:\bin>type get_date_without_space.bat SET DATE_WITH_SPACE=%DATE% FOR /F "TOKENS=1-2" %I IN ("%DATE_WITH_SPACE%") DO SET DATE_WITHOUT_SPACE=%I_%J ECHO %DATE_WITHOUT_SPACE% 

Это не работает Зачем?

K:\bin>get_date_without_space.bat K:\bin>SET DATE_WITH_SPACE=Fri 11/16/2018 DATE_WITH_SPACEI_J was unexpected at this time.  K:\bin>FOR /F "TOKENS=1-2" DATE_WITH_SPACEI_J K:\bin> 
637 просмотров
Francky Leyn спросил 7 лет назад
F 32

1 ответ

1
FOR /F "TOKENS=1-2" %%I IN ("%DATE_WITH_SPACE%") DO SET DATE_WITHOUT_SPACE=%%I_%%J 

Мета-переменные - это I и J и исходный код, %Iа %Jвместо %%Iи %%J.

Если вам нужно опубликовать дополнительную информацию по вашему вопросу, пожалуйста, отредактируйте ее, чтобы сделать это. Но опубликовать это как ответ? Нету.

JakeGould · 7 лет назад · 0

Это не дополнительная информация, которая будет добавлена ​​к вопросу; это *** является *** ответом (хотя и печально кратким).

Scott · 7 лет назад · 0

@ Скотт Я совершенно не могу понять, как это ответ.

JakeGould · 7 лет назад · 0

@JakeGould: Проблема заключалась в том, что OP использовал % I и% J в файле BAT. Ответ (показанный выше) заключается в использовании %% I и %% J вместо % I и% J. (Я * сказал *, что это было очень кратко.)

Scott · 7 лет назад · 2

@ Скотт имеет смысл. Отредактировано, чтобы добавить этот бит информации.

JakeGould · 7 лет назад · 1
Francky Leyn ответил 7 лет назад
F 32