In general it is better and more efficient to use <nul set /p =text instead of echo|set /p =text
The SET /P prompt has bizarre rules that are not consistent between Windows versions :(
It is best to put all redirection before the command so you that all chars after the = are part of the prompt, except for those cases referenced in the rules.
Things that are tricky and or cause problems are leading white space, leading =, and quotes.
Thankfully quotes can be solved rather easily. Either enclose your desired string to the right of the = in quotes:
<nul >..\web\index.min.html set /p ="R"("
The first quote will be stripped, and the last quote and all trailing characters after the last quote are stripped.
Or do the above and add an extra set of enclosing quotes around the entire construct, including the =:
<nul >..\web\index.min.html set /p "="R"(""
The first two quotes are stripped, and so are the last two quotes stripped, and all characters after the 2nd to last quote are ignored.
I don't recommend this, but each of the following would also work:
<nul >..\web\index.min.html set /p ="R"(" IGNORED
<nul >..\web\index.min.html set /p "="R"(" IGNORED " IGNORED