script - powershell tutorial
Los espacios causan divisiĆ³n en la ruta con PowerShell (6)
¿Esto haría lo que quieres ?:
& "C:/Windows Services/MyService.exe"
Tengo un problema con powershell al invocar un archivo ejecutable en una ruta que contiene espacios.
PS C: / Windows Services> expresión-invocación "C: / Windows Services / MyService.exe"
El término ''C: / Windows'' no se reconoce como el nombre de un cmdlet, función, archivo de secuencia de comandos o programa ejecutable. Verifique la ortografía del nombre, o si se incluyó una ruta, verifique que la ruta sea correcta e intente nuevamente.
Parece estar dividiéndose en el espacio entre ''Windows'' y ''Servicios''. ¿Alguna idea de cómo solucionar este problema?
Al usar Powershell en Windows10 en 2018, lo que funcionó para mí fue simplemente reemplazar las comillas dobles "
por comillas simples ''
. Agregar el margen anterior antes del espacio, como se sugiere en una respuesta, rompió el camino.
Hay un hack que he usado desde que Invoke-Expression funciona bien para mí.
Puede establecer la ubicación actual en la ruta con espacios, invocar la expresión, volver a su ubicación anterior y continuar:
$currLocation = Get-Location
Set-Location = "C:/Windows Services/"
Invoke-Expression "./MyService.exe"
Set-Location $currLocation
Esto solo funcionará si el exe no tiene ningún espacio en su nombre.
Espero que esto ayude
No estoy seguro de si alguien todavía lo necesita ... Necesitaba invocar msbuild en powershell y luego funcionó bien:
$MSBuild = "${Env:ProgramFiles(x86)}/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/MSBuild.exe"
& $MSBuild $PathToSolution /p:OutDir=$OutDirVar /t:Rebuild /p:Configuration=Release
Puede escapar del espacio utilizando comillas simples y una marca de retroceso antes del espacio:
$path = ''C:/Windows Services/MyService.exe''
$path -replace '' '', ''` ''
invoke-expression $path
"&''C:/Windows Services/MyService.exe''" | Invoke-Expression
a través de https://www.vistax64.com/powershell/52905-invoke-expression-exe-has-spaces-its-path.html