Символ ^
является символом "escape" командного файла. Когда используется в конце строки, он становится символом продолжения строки, который используется для обработки нескольких строк как одной строки.
Итак, в командном файле, если вы положите в
echo This ^
is a single ^
line!
Он обрабатывает это как одну строку, эквивалентную:
echo This is a single line!
Если в пакете нет "следующей строки", как в примере с одной строкой do ^
, нет следующей строки для добавления, поэтому она ничего не добавляет (и, следовательно, кажется, ничего не делает).
Когда вы используете ^
line-продолжение в командной строке, он покажет вам More?
запрос, потому что вы сказали, что хотите продолжить команду на следующей строке, после чего вы можете продолжить команду, например:
Y:\>echo This ^
More? is a single ^
More? line!
This is a single line!
Чтобы остановить пакетный файл и запросить ввод, вам нужно использовать set /p
, который запросит ввод, а затем назначит этот ввод переменной. например:
set /P name="What Is Your Name? "
echo Hello %name%!