Ах, и если у вас есть очень длинная строка, которую вы хотите разбить, скажем, HTML, вы можете сделать это, поместив @
по бокам внешнюю сторону "
- вот так:
$mystring = @"
Bob
went
to town
to buy
a fat
pig.
"@
Вы получаете именно это:
Bob
went
to town
to buy
a fat
pig.
И если вы используете Notepad ++ , он даже будет правильно выделен как строковый блок.
Теперь, если вы хотите, чтобы эта строка также содержала двойные кавычки, просто добавьте их, например так:
$myvar = "Site"
$mystring = @"
<a href="http://somewhere.com/somelocation">
Bob's $myvar
</a>
"@
Вы бы получили именно это:
<a href="http://somewhere.com/somelocation">
Bob's Site
</a>
Однако, если вы используете двойные кавычки в этой @ -строке подобным образом, Notepad ++ не осознает этого и будет переключать раскраску синтаксиса, как если бы он не был заключен в кавычки или в кавычки, в зависимости от случая.
И что еще лучше: везде, где вы вставляете переменную $, она интерпретируется! (Если вам нужен знак доллара в тексте, вы можете убрать его с помощью галочки вроде этого: `` $ not-a-variable`.)
ВНИМАНИЕ! Если вы не поставите финал "@
в самом начале строки , он потерпит неудачу. Мне потребовался час, чтобы понять, что я не могу сделать отступ в своем коде!
Вот MSDN на эту тему: Использование Windows PowerShell «Here-Strings»