Ответ 1
Для экранирования эхо-аргументов вы можете использовать альтернативный синтаксис echo.
:
echo./?
Немного сложный. Как я могу правильно выполнить следующее в пакетном файле?
echo /? display this help text
Эта конкретная комбинация символов рассматривается как "ECHO/?" Команда:
C:\Batch>ECHO /? display this help text
Displays messages, or turns command-echoing on or off.
ECHO [ON | OFF]
ECHO [message]
Type ECHO without parameters to display the current echo setting.
Он не реагирует на кавычки (^), т.е. Я пробовал ^/?/^? и ^/^.
NB: В качестве обходного пути я обнаружил, что вставить другие символы между ними достаточно, чтобы обойти процессор командной строки ECHO, например:
echo ... /? display this help text
Тем не менее, это не идеально, и я задавался вопросом, есть ли способ добиться желаемого результата, а именно:/? в начале эхо-сообщения.
Для экранирования эхо-аргументов вы можете использовать альтернативный синтаксис echo.
:
echo./?
Для экранирования эхо-аргументов существует множество вариантов, таких как echo.
, echo:
, echo=
Но только echo(
кажется защищенным от любого прилагаемого текста.
Эти ошибки терпят неудачу, если файлы существуют как echo
, echo[
, echo]
или echo+
echo.
echo[
echo]
echo+
Эти ошибки терпят неудачу, если файл в текущем каталоге существует с именем my.bat
echo\..\my.bat
echo:\..\my.bat
echo.\..\my.bat
Эти ошибки не выполняются независимо от файла
echo/?
echo,/?
echo;/?
Только echo(
, кажется, всегда безопасен для любого контента