Я уже видел этот вопрос, но ни одно из решений не касается моей проблемы. Я просто пытаюсь выполнить итерацию через текстовый файл, содержащий имена хостов. Когда я пытаюсь выполнить ту же команду (исключая лишние знаки процента) из командной строки, она будет работать один или два раза, а затем дать ошибку, указанную ниже. Выполняя его как пакетный файл, пакетный файл выходит без каких-либо действий. Это меня очень насторожило.Пакетный скрипт для loop & nslookup
Вот код в моем пакетного файла:
@echo off
set OUTPUTFILE=Results/Results.txt
set lookup=HostNames.txt
FOR /F %%i in (%lookup%) do
FOR /F "usebackq skip=3 delims=: tokens=2" %j in (`nslookup %i`)
do @echo %%i %%j >> %OUTPUTFILE%
В командной строке я получаю:
i`) было неожиданным в это время.
Когда я запускаю его в командной строке, я беру дополнительные процентные знаки, необходимые для запуска в пакетном файле. Я также использую абсолютные пути в командной строке, чтобы убедиться, что это не проблема с переменными среды, которые я установил.
вы забыли установить двойной процент здесь 'nslookup% i' – npocmaka
Спасибо npocmaka & Magoo. Это ближе, я думаю, но по-прежнему не работает. @Magoo Я попробовал свои исправления, теперь я получаю следующий вывод при запуске командного файла: ' (FOR/F" skip = 3 delims =: tokens = 2 "% j in ('nslookup HOSTNAME_EDITED') do @echo HOSTNAME_EDITED% j 1 >> Results \ Results.txt) Синтаксис команды неверен. ' –
Когда я устанавливаю« nslookup %% i », я получаю мигающий курсор. –