Содержание
Пробелы в значениях переменных
С переменной, в значении которой есть один или несколько пробелов, можно работать как и обычно..
Set PathBase=c:\Program Files\Firefox Set StartProcess=%PathBase%\Firefox.exe
Но не всегда это работает и в тех случаях, когда по синтаксису пробел не должен находиться в этом месте, тогда используют обрамляющие кавычки
Set PathBase=c:\Program Files\Firefox echo "%PathBase%\profiles.ini"
Но в некоторых случаях и тот и тот вариант может не подойти, тогда уж наверняка вас выручит иной вариант с кавычками, мой любимый
Set "PathBase=c:\Program Files\Firefox" echo %PathBase%\profiles.ini
Разрыв строки текста, перенос строки команд
Если текст вашей команды слишком длинный, то это делает сценарий менее наглядным и удобочитаемым. Символ ^ должен быть последним в строке и означает, что следующая строка является продолжением текущей. Возможно разбиение команд более, чем на две строки. Заметим, при печати в консоли на выходе будет все же одна строка. Данный способ применяется только для более удобного восприятия и форматирования длинного кода листинга.
echo ^ Этот способ работает^ не только для текста^ но и для команд
Если нужно сделать перенос печатаемого текста в самой консоли, то просто используется новая команда с новой строки echo ваш текст.
Если нужна пустая строка на выходе, то используйте команду echo с точкой, то есть echo. в консоли выведет пустую строку.
Экранирование служебных спецсимволов
В командном языке Windows существует некоторый набор символов с высоким приоритетом, которые всегда трактуются как спецсимволы. К ним, в частности, относятся:
- Операторы перенаправления ввода-вывода <, >, >>.
- Оператор конвейера |.
- Операторы объединения команд ||, & и &&.
- Оператор разыменования переменной %…%.
В случае со знаком процента решение довольно хорошо известно и состоит в удвоении этого символа. Для других символов тут нам и придет на помощь уже известный знак домика - символ ^.
:: Это не сработает, вызовет ошибку - > was unexpected at this time. echo <html> :: А это сработает echo ^<html^>
Этим же символом домика можно экранировать и любой другой символ, включая самого себя.
Продолжение следует..