Tengo un test.bat archivo por lotes para iniciar una secuencia de comandos de PowerShell:Uso bate para iniciar script de PowerShell
@pushd "C:\myscripts"
powershell .\test.ps1 arg1 "arg2 with space" arg3
@popd
El test.ps1 guión (que se encuentra en C: \ myscripts) es muy simple como:
# just print out the arguments
Write-Output ("args count: {0}" -f $args.length)
$args
Luego intenté iniciar test.bat. Debería conseguir tres argumentos pasados a PS1 pero me dieron el siguiente resultado: cuentan
args: 5 arg1 arg2 con espacio arg3
lo que esperaba en el guión, args [0] deben arg1 y args [1] debería ser "arg2 con espacio" y args3 [2] ser arg3. No puedo entender por qué el guión en realidad obtiene 5 argumentos.
¿Cómo puedo pasar parámetros de cmd o batch a powershell como esperaba? De esta manera:
args count: 3
arg1
arg2 with space
arg3
No lo hacen. Pero sí significan cosas diferentes para 'cmd'. – Joey