Как взять в PowerShell команду, подобную следующей, и разбить ее на несколько строк?
&"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:contentPath="c:\workspace\xxx\master\Build\_PublishedWebsites\xxx.Web" -dest:contentPath="c:\websites\xxx\wwwroot\,computerName=192.168.1.1,username=administrator,password=xxx"
powershell
asgerhallas
источник
источник
Ответы:
Трейлинг-бэкстик, т. Е.
Пустое пространство имеет значение. Требуемый формат Space`Enter.
источник
Другим методом для более чистой передачи аргументов было бы разбрызгивание .
Определите ваши параметры и значения как хеш-таблицу следующим образом:
А затем вызовите свой командлет следующим образом:
Документы Microsoft: о сплаттинге
TechNet Magazine 2011: Windows PowerShell: распространение
Похоже, это работает с Powershell 2.0 и выше
источник
$params.add('name','Bob Newhart')
ramblingcookiemonster.wordpress.com/2014/12/01/...Ах, и если у вас есть очень длинная строка, которую вы хотите разбить, скажем, HTML, вы можете сделать это, поместив
@
по бокам внешнюю сторону"
- вот так:Вы получаете именно это:
И если вы используете Notepad ++ , он даже будет правильно выделен как строковый блок.
Теперь, если вы хотите, чтобы эта строка также содержала двойные кавычки, просто добавьте их, например так:
Вы бы получили именно это:
Однако, если вы используете двойные кавычки в этой @ -строке подобным образом, Notepad ++ не осознает этого и будет переключать раскраску синтаксиса, как если бы он не был заключен в кавычки или в кавычки, в зависимости от случая.
И что еще лучше: везде, где вы вставляете переменную $, она интерпретируется! (Если вам нужен знак доллара в тексте, вы можете убрать его с помощью галочки вроде этого: `` $ not-a-variable`.)
ВНИМАНИЕ! Если вы не поставите финал
"@
в самом начале строки , он потерпит неудачу. Мне потребовался час, чтобы понять, что я не могу сделать отступ в своем коде!Вот MSDN на эту тему: Использование Windows PowerShell «Here-Strings»
источник
Вы можете использовать оператор backtick:
Это все еще слишком долго, так что я бы использовал некоторые хорошо названные переменные:
источник
Если у вас есть функция:
Если у вас есть командлет :
Если у вас есть заявка:
Или
источник
В PowerShell 5 и PowerShell 5 ISE также можно использовать только Shift+ Enterдля многострочного редактирования (вместо стандартных обратных галочек
`
в конце каждой строки):источник
Сплат метод с расчетами
Если вы выбираете метод сплат, будьте осторожны с вычислениями, выполненными с использованием других параметров. На практике иногда приходится сначала устанавливать переменные, а затем создавать хэш-таблицу. Кроме того, формат не требует одинарных кавычек вокруг значения ключа или точки с запятой (как упоминалось выше).
Примечание. Массив файлов содержит информацию, которая будет влиять на заполнение электронной таблицы.
источник
Другой способ разбить строку на несколько строк - поместить пустое выражение в середину строки и разбить его на строки:
образец строки:
"stackoverflow stackoverflow stackoverflow stackoverflow stackoverflow"
разбито на строки:
источник