Перед тем как перейти к следующей строке в текстовом файле для Batch For / F, необходимо выполнить команду DO. - PullRequest
3 голосов
/ 07 апреля 2011

У меня есть этот код в .bat файле

FOR /F "tokens=* delims= " %%G in (partners.txt) DO "C:\Program Files (x86)\iOpus\iMacros\iMacros.exe" -macro "screenshot.iim" -var_offercode %%G
ANOTHER COMMAND

Как я могу дать команду пакетному файлу сначала выполнить ДРУГУЮ КОМАНДУ, прежде чем получить следующий вход для переменной% GG из partners.txt. в основном, мне нужно сначала завершить первый цикл, прежде чем перейти к следующей строке. В настоящее время он завершает список в partners.txt, прежде чем перейти к ДРУГОЙ КОМАНДЕ.

Большое спасибо!

Ответы [ 3 ]

2 голосов
/ 07 апреля 2011

Поместите список операторов в круглые скобки:

for /f %%x in (partners.txt) do (
  statement 1
  statement 2
)

Одна вещь, на которую следует обратить внимание, прежде чем задавать один из самых частых вопросов в качестве последующего: переменные среды расширяются для всего блока, как толькострока parsed означает, что если вы установите переменные окружения где-то в этом блоке, изменения не будут видны, пока вы не выйдете из цикла.См. help set для обсуждения проблемы и решения.Если вам нужно пойти по этому пути, то есть.

1 голос
/ 07 апреля 2011

Использование & для выполнения нескольких команд в одной строке также возможно

for /f %%x in (partners.txt) do statement 1 & statement2
0 голосов
/ 18 марта 2018

используйте пакетный скрипт для / f ... IN ... do mybatchscript.bat

....
<mybatchscript.bat>
dosomethings
dootherthings
........

Он ДОЛЖЕН передать% 1 в качестве параметра в пакетный скрипт из переменной в цикле for ... СЛЕДУЕТ ... потому что сейчас я просто размышляю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...