3

Попытка запустить следующее прямо из командной строки.

FOR /f "delims=[] tokens=2" %%a in ('ping %computername% -4 -n 1 ^| findstr "["') do (set ip=%%a)

Несмотря на то, что он работает нормально из пакетного файла, при запуске вставляется непосредственно в командную строку, я получаю следующую ошибку:

%%a was unexpected at this time.

Как мне изменить его, чтобы он работал напрямую из командной строки и НЕ требовал командного файла?

Требования к длинной истории:

У меня есть требование в основном предоставить список команд, которые могут быть запущены с помощью копирования / вставки в командную строку, БЕЗ использования командного файла (просто согласитесь, не мои требования, а те, которые были мне даны и не могут быть сданы в архив), У меня есть более поздняя команда, которая выводит% ip% в текстовый файл.

1 ответ1

6

При обращении к переменной цикла For в пакетном файле вам нужно удвоить знаки процента (то есть: %%a), но если вы сделаете это, просто выполнив команду прямо в командной строке, она не будет работать. Вам нужно изменить их на один знак процента (%a).

Возможно, проверьте этот другой вопрос SU для получения дополнительной информации: что означает знак процента (% и %%) в аргументе пакетного файла?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .