Попытка повторить ^^ в партии - PullRequest
0 голосов
/ 17 мая 2018

Я делаю пакетную анимацию, и для создания ноздрей я хочу повторить 2 каретки, или ^^, но отображается только одна.

Как мне остановить / обойти свойство escape у символа вставки?

Ответы [ 4 ]

0 голосов
/ 18 мая 2018

Пара других способов сделать это.

Используйте команду FOR.

for %%G IN ("^^") do echo %%~G

Используйте SET /P с перенаправлением NUL.У этого есть несколько предостережений.Вы не можете поставить пробелы перед каретами.Если перед кареткой вам нужны пробелы, вы можете использовать еще один хак с символом возврата.

<nul set /p ".=^^" &echo(
0 голосов
/ 17 мая 2018

Вы можете удвоить их и получить результат, который вы ищете.

echo ^^^^
0 голосов
/ 17 мая 2018

В качестве альтернативы экранированию escape-символа (^^), вы можете использовать отложенное расширение :

rem // Assign variable with `^` protected by `""`:
set "STR=^^"
rem // Use delayed expansion which happens after escaping:
setlocal EnableDelayedExpansion
echo !STR!
0 голосов
/ 17 мая 2018

Технически, символ ^ каретки - это escape-символ.

Если вы хотите отобразить 2 каретки, вы можете просто «экранировать escape-символ».

Ниже показана правильная строка для отображения 2 карет:

echo ^^^^
...