У вас есть две проблемы: ваш код отображается во время его запуска, а ваш код работает в бесконечном цикле.
1. ВАШ КОД СРЕДСТВО ОТОБРАЖЕНИЕ
По умолчанию, пакетные отображает каждую строку кода, он работает до того, что строка кода выполняется.
Чтобы отключить это, введите команду @echo off
в начало вашего скрипта. echo off
отключает это поведение, и @
предотвращает отображение этой строки.
2. код выполняется в бесконечном цикле
Поскольку Ваш код состоит из ничего, кроме двух строк в вашем вопросе, единственная возможная причина ваш код должен быть запущен в бесконечном цикле, что ваш сценарий имеет имя tree.bat
.
Ваше имя сценария вызывает бесконечный цикл из-за того, как CMD запускает команды. Когда вы вызываете команду и не предоставляете полный путь к этой команде, пакет сначала просматривается в текущем каталоге, а затем во всех каталогах, перечисленных в переменной %PATH%
. Поскольку существует исполняемый файл в текущем каталоге с именем tree
(ваш скрипт), пакет предполагает, что вы пытаетесь вызвать это и снова запускаете свой скрипт, вызывая бесконечный цикл.
Чтобы остановить это поведение, переименуйте свой сценарий, убедившись, что не называть его чем-либо, что уже является ключевым словом (список партичных слов можно найти here).
Вы назвали сценарий 'tree.bat', не так ли? – SomethingDark
um ... я должен? – roger
Нет. На самом деле; вы не должны, так как вызов скрипта 'tree.bat' означает, что команда' tree' в вашем скрипте сообщает CMD запускать сценарий вместо команды, которую вы хотели запустить, поскольку CMD смотрит в текущем каталоге, прежде чем он проверяет каталоги перечисленных в переменной%% PATH%. Я пытался убедиться, что у вас нет сценария, который случайно называет себя, что является единственным возможным местом, из которого мог бы возникнуть бесконечный цикл. – SomethingDark