Как правило, лучше и эффективнее использовать <nul set /p =text
вместо echo|set /p =text
В приглашении SET / P есть причудливые правила , которые не согласуются между версиями Windows :(
Лучше поместить все перенаправления перед командой, чтобы все символы после =
были частью приглашения, за исключением случаев, указанных в правилах.
Вещи, которые являютсяхитрые и / или вызывающие проблемы приводят к пробелам, символам =
и кавычкам.
К счастью, кавычки можно решить довольно легко. Либо заключите нужную строку справа от =
в кавычках:
<nul >..\web\index.min.html set /p ="R"("
Первая цитата будет удалена, а последняя цитата и все завершающие символы после последней цитаты будут удалены.
Или сделайте вышеупомянутое и добавьте дополнительный набор заключающих цитат вокруг всейконструкция, включая =
:
<nul >..\web\index.min.html set /p "="R"(""
Первые две кавычки удаляются, как и последние две кавычки, и все символы после 2-го до lasТ кавычки игнорируются.
Я не рекомендую это, но каждое из следующих также будет работать:
<nul >..\web\index.min.html set /p ="R"(" IGNORED
<nul >..\web\index.min.html set /p "="R"(" IGNORED " IGNORED