Я попытался поместить команды, возвращающие вывод, в командный файл. Когда я запускаю командный файл, он выполняет команду снова и снова, пока я не отменю ее нажатием CTRL + C.
Я наблюдал такое поведение в Windows CE, Windows XP, Windows 7 и Server 2003. Сначала мне показалось, что я ошибся с LDIFDE, но то же самое и с PING.
Что-то я упустил из-за пакетного скриптинга?
Файл содержит одну строку:
ping google.com
Я думаю, вы назвали свой сценарий ping.bat
или ping.cmd
и он зовет себя.
Это происходит из-за дизайнерского решения, представленного в DOS 2.0. В клонах и производных MS-DOS, Windows и MS-DOS текущий каталог является первым в пути поиска. Когда DOS ищет команду, она сначала проверяет, является ли это внутренней командой, встроенной в command.com (например, echo, copy), а затем выполняет поиск в файловой системе. Он всегда начинается с текущего каталога, а затем просматривает каталоги, определенные в переменной PATH.
У вас есть несколько вариантов:
ping.exe google.com
%SystemRoot%\system32\ping.exe