Comment prendre une commande comme la suivante dans PowerShell et la diviser sur plusieurs lignes?
&"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
la source
la source
Réponses:
Caractère de point arrière arrière, c.-à-d.
L'espace blanc est important. Le format requis est Space`Enter.
la source
Une autre méthode pour passer des arguments plus propres serait l' éclaboussure .
Définissez vos paramètres et valeurs comme une table de hachage comme ceci:
Et puis appelez votre commande comme ceci:
Microsoft Docs: à propos de l'éclaboussure
TechNet Magazine 2011: Windows PowerShell: Splatting
Il semble que cela fonctionne avec Powershell 2.0 et versions ultérieures
la source
$params.add('name','Bob Newhart')
ramblingcookiemonster.wordpress.com/2014/12/01/…Ah, et si vous avez une très longue chaîne que vous voulez casser, disons du HTML, vous pouvez le faire en mettant un
@
de chaque côté de l'extérieur"
- comme ceci:Vous obtenez exactement ceci:
Et si vous utilisez Notepad ++ , il sera même correctement mis en surbrillance en tant que bloc de chaîne.
Maintenant, si vous vouliez que cette chaîne contienne également des guillemets, ajoutez-les simplement, comme ceci:
Vous obtiendriez exactement ceci:
Cependant, si vous utilisez des guillemets doubles dans cette chaîne @ comme ça, Notepad ++ ne s'en rend pas compte et changera la coloration de la syntaxe comme si elle n'était pas citée ou citée, selon le cas.
Et ce qui est mieux, c'est ceci: partout où vous insérez une variable $, elle est interprétée! (Si vous avez besoin du signe dollar dans le texte, vous y échappez avec une coche comme celle-ci: `` $ not-a-variable`.)
REMARQUER! Si vous ne placez pas la finale
"@
au tout début de la ligne , elle échouera. Il m'a fallu une heure pour comprendre que je ne pouvais pas mettre cela en retrait dans mon code!Voici MSDN sur le sujet: Utilisation de Windows PowerShell «Here-Strings»
la source
Vous pouvez utiliser l'opérateur backtick:
C'est encore un peu trop long à mon goût, donc j'utiliserais des variables bien nommées:
la source
Si vous avez une fonction:
Si vous avez une applet de commande :
Si vous avez une application:
Ou
la source
Dans PowerShell 5 et PowerShell 5 ISE, il est également possible d'utiliser juste Shift+ Enterpour l'édition multiligne (au lieu des raccourcis standard
`
à la fin de chaque ligne):la source
Méthode Splat avec calculs
Si vous choisissez la méthode splat, méfiez-vous des calculs effectués à l'aide d'autres paramètres. Dans la pratique, je dois parfois d'abord définir des variables, puis créer la table de hachage. En outre, le format ne nécessite pas de guillemets simples autour de la valeur de clé ou du point-virgule (comme mentionné ci-dessus).
Remarque: Le tableau de fichiers contient des informations qui affecteront la façon dont la feuille de calcul est remplie.
la source
Une autre façon de séparer une chaîne sur plusieurs lignes consiste à placer une expression vide au milieu de la chaîne et à la répartir sur plusieurs lignes:
exemple de chaîne:
"stackoverflow stackoverflow stackoverflow stackoverflow stackoverflow"
en travers des lignes:
la source