РАЗДЕЛ
	about_Quoting_Rules

КРАТКОЕ ОПИСАНИЕ
	Описывает правила использования одиночных и двойных кавычек в Windows 
	PowerShell.


ПОЛНОЕ ОПИСАНИЕ
	Кавычки используются для задания литеральных строк. Строку можно 
	заключить в одиночные (') или двойные (") кавычки.
 

	Кавычки также используются для создания автономных строк. 
	Автономная строка - это строка, заключенная в одиночные или 
	двойные кавычки, в которой кавычки интерпретируются буквально. 
	Автономная строка может состоять из нескольких строк. Все строки 
	в автономной строке интерпретируются как строки, даже несмотря на 
	то что они не заключены в кавычки.


	В командах для удаленных компьютеров кавычки определяют части команды, 
	выполняемые на удаленном компьютере. В удаленном сеансе кавычки также 
	определяют, интерпретируются ли переменные в команде сначала на 
	локальном, а затем на удаленном компьютере или наоборот.


 Строки, заключенные в одиночные и двойные кавычки

	Если строка заключена в двойные кавычки, имена переменных, 
	перед которыми стоит знак доллара ($), заменяются значениями 
	переменных перед передачей строки команде для обработки.
 

	Пример:

		$i = 5
		"Значение $i: $i."


	Выходные данные команды: 

		Значение 5: 5.


	Кроме того, в строке, заключенной в двойные кавычки, 
	вычисляются выражения, и результат вставляется в строку. Пример:

		"Значение $(2+3): 5."


	Выходные данные команды:

		Значение 5: 5.


	Строка, заключенная в одиночные кавычки, передается команде 
	точно в том виде, в котором она введена. Подстановок не 
	производится. Пример:

		$i = 5
		'Значение $i: $i.'


	Выходные данные команды: 

		Значение $i: $i.


	Кроме того, выражения, заключенные в одиночные кавычки, не 
	вычисляются. Они интерпретируются как литералы. Пример:

		'Значение $(2+3): 5.'


	Выходные данные команды:

		Значение $(2+3): 5.


	Для предотвращения подстановки значения переменной в строке, 
	заключенной в двойные кавычки, используйте обратный апостроф 
	(`)[код ASCII 96], который является escape-символом Windows 
	PowerShell.


	В следующем примере перед первым вхождением переменной $i 
	указан обратный апостроф (`), в результате чего Windows 
	PowerShell не заменяет имя переменной ее значением. Пример:

		$i = 5
		"Значение `$i: $i."


	Выходные данные команды: 

		Значение $i: 5.
	 

	Для отображения двойных кавычек в строке необходимо заключить 
	всю строку в одиночные кавычки. Пример:

		'Как говорится, "учись, пока жив".'


	Выходные данные команды:

		Как говорится, "учись, пока жив".


	Также можно заключить строку, содержащую одиночные кавычки, 
	в двойные кавычки. Пример:

		"Как говорится, 'учись, пока жив'."


	Выходные данные команды:

		Как говорится, 'учись, пока жив'.


	Кроме того, можно заключить строку, содержащую двойные кавычки, 
	в двойные кавычки. Пример:

		"Как говорится, ""учись, пока жив""."


	Выходные данные команды:

		Как говорится, "учись, пока жив".


	Для включения одиночной кавычки в строку, заключенную в 
	одиночные кавычки, используйте одиночную кавычку два раза 
	подряд. Пример:

		'don''t'


	Выходные данные команды:

		don't


	Чтобы оболочка Windows PowerShell интерпретировала двойные 
	кавычки буквально, используйте обратный апостроф. Это не 
	позволяет оболочке Windows PowerShell интерпретировать кавычку 
	как разделитель строк. Пример:

		"Используйте двойную кавычку (`") в начале строки."


	Поскольку содержимое строки, заключенной в одиночные кавычки, 
	интерпретируется буквально, в ней нельзя использовать обратный 
	апостроф для принудительной интерпретации литерала.

 
	Например, следующая команда выдает ошибку, поскольку Windows 
	PowerShell не распознает escape-символ. Эта команда 
	интерпретирует вторую кавычку как конец строки.


		PS C:\> 'Используйте одиночную кавычку (`') в начале строки.'
		Неожиданный токен ")" в выражении или инструкции.
		В строке:1 знак:27
		+ 'Используйте одиночную кавычку (`') <<<< в начале строки.'


 Автономные строки, заключенные в одиночные и двойные кавычки

	Правила использования кавычек в автономных строках немного 
	отличаются.


	Автономная строка - это строка, заключенная в одиночные или 
	двойные кавычки, в которой кавычки интерпретируются буквально. 
	Автономная строка может состоять из нескольких строк. Все 
	строки в автономной строке интерпретируются как строки, даже 
	несмотря на то что они не заключены в кавычки.


	В автономных строках, заключенных в двойные кавычки, переменные 
	заменяются своими значениями подобно регулярным выражениям. В 
	автономных строках, заключенных в одиночные кавычки, переменные 
	не заменяются своими значениями.

 
	Автономные строки можно использовать в случае любого текста, но 
	они являются особенно полезными в случае текста следующих типов.

		- Текст, в котором содержатся литералы в кавычках Текст, 
		- состоящий из нескольких строк, например HTML- или XML-документ 
		- Текст справки для скрипта или функции


	Автономная строка может иметь один из следующих форматов, где 
	<Ввод> означает перевод строки или скрытый символ новой строки, 
	который добавляется при нажатии клавиши ВВОД.
 

	Формат 1:

		@"<Ввод>
		<строка> [строка] ...<Ввод>
		"@


	Формат 2:
 
		@'<Ввод>
		<строка> [строка] ...<Ввод>
		'@


	В обоих форматах закрывающая кавычка должна быть первым 
	символом строки. 

   
	В автономной строке содержится весь текст между двумя скрытыми 
	символами.
	В автономной строке все кавычки интерпретируются буквально.
	Пример:

		@"
		Для отображения справки введите команду "get-help"
		"@


	Выходные данные команды:

		Для отображения справки введите команду "get-help"


	Применение автономной строки позволяет упростить используемую в 
	команде строку. Пример:

		@"
		Используйте одиночную кавычку (') в начале строки.
		"@

		
	Выходные данные команды:

		Используйте одиночную кавычку (') в начале строки.


	В автономных строках, заключенных в одиночные кавычки, переменные 
	интерпретируются буквально и воспроизводятся точно в том виде, в 
	котором они заданы. Пример:

		@'
		В переменной $profile содержится путь
		к вашему профилю Windows PowerShell.
		'@


	Выходные данные команды:

		В переменной $profile содержится путь
		к вашему профилю Windows PowerShell.


	В автономных строках, заключенных в двойные кавычки, переменные 
	заменяются своими значениями. Пример:

		@" 
		Даже если профиль не создан, задан следующий путь к профилю:
		$profile.
		"@


	Выходные данные команды:

		Даже если профиль не создан,
		задан следующий путь к профилю:
		C:\Users\User01\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1.


	Автономные строки обычно используются для присвоения переменной 
	значения, состоящего из нескольких строк. Например, следующая 
	автономная строка позволяет присвоить переменной $page страницу 
	XML-документа.


		$page = [XML] @"
		<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" 
		xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" 
		xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> 
			<command:details>
					<command:name>
					 Format-Table
					</command:name>
					<maml:description>
						<maml:para>Форматирует вывод в виде таблицы.</maml:para> 
					</maml:description>
					<command:verb>format</command:verb>
					<command:noun>table</command:noun>
					<dev:version></dev:version>
			</command:details>
		...
		</command:command>
		"@
   

	Автономные строки также являются удобным форматом входных данных для 
	командлета ConvertFrom-StringData, который преобразует автономные 
	строки в хэш-таблицы. Дополнительные сведения см. в описании 
	командлета ConvertFrom-StringData.


СМ. ТАКЖЕ
	about_Escape_Characters
	ConvertFrom-StringData