¿Cómo se toma un comando como el siguiente en PowerShell y se divide en varias líneas?
&"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
fuente
fuente
Respuestas:
Carácter de retroceso final, es decir,
El espacio en blanco es importante. El formato requerido es Space`Enter.
fuente
Otro método para pasar argumentos más limpios sería salpicar .
Defina sus parámetros y valores como una tabla hash como esta:
Y luego llame a su comando como este:
Documentos de Microsoft: acerca de las salpicaduras
TechNet Magazine 2011: Windows PowerShell: salpicaduras
Parece que funciona con Powershell 2.0 y versiones posteriores
fuente
$params.add('name','Bob Newhart')
ramblingcookiemonster.wordpress.com/2014/12/01/...Ah, y si tiene una cadena muy larga que desea dividir, digamos de HTML, puede hacerlo colocando un
@
a cada lado del exterior"
, como este:Obtienes exactamente esto:
Y si está utilizando Notepad ++ , incluso se resaltará correctamente como un bloque de cadena.
Ahora, si desea que esa cadena también contenga comillas dobles, simplemente agréguelas de esta manera:
Obtendría exactamente esto:
Sin embargo, si usa comillas dobles en esa cadena @ como esa, Notepad ++ no se da cuenta de eso y cambiará el color de la sintaxis como si no se hubiera citado o citado, según el caso.
Y lo que es mejor es esto: en cualquier lugar donde inserte una variable $, ¡SE interpreta! (Si necesita el signo de dólar en el texto, lo escapa con una marca de verificación como esta: `` $ not-a-variable`).
¡AVISO! Si no coloca la final
"@
al comienzo de la línea , fallará. ¡Me llevó una hora darme cuenta de que no podía sangrar eso en mi código!Aquí está MSDN sobre el tema: Uso de Windows PowerShell "Here-Strings"
fuente
Puede usar el operador de retroceso:
Todavía es un poco demasiado largo para mi gusto, así que usaría algunas variables bien nombradas:
fuente
Si tienes una función:
Si tiene un cmdlet :
Si tienes una aplicación:
O
fuente
En PowerShell 5 y PowerShell 5 ISE, también es posible usar solo Shift+ Enterpara la edición multilínea (en lugar de los backticks estándar
`
al final de cada línea):fuente
Método Splat con cálculos
Si elige el método splat, tenga cuidado con los cálculos que se realizan con otros parámetros. En la práctica, a veces tengo que establecer variables primero y luego crear la tabla hash. Además, el formato no requiere comillas simples alrededor del valor clave o el punto y coma (como se mencionó anteriormente).
Nota: La matriz de archivos contiene información que afectará la forma en que se llena la hoja de cálculo.
fuente
Otra forma de dividir una cadena en varias líneas es colocar una expresión vacía en el medio de la cadena y dividirla en líneas:
cadena de muestra:
"stackoverflow stackoverflow stackoverflow stackoverflow stackoverflow"
roto a través de líneas:
fuente