Powershell parece eliminar los argumentos de cadenas vacías cuando se pasan a un comando. Tengo este códigoPasando argumentos vacíos a los ejecutables usando powershell
PS D:\> $b.name = "foo bar"
PS D:\> ./echoargs $b.name
Arg 0 is D:\echoargs.exe
Arg 1 is foo bar
PS D:\> $b.name = ""
PS D:\> ./echoargs $b.name
Arg 0 is D:\echoargs.exe
Puede suponer que $ b tiene un miembro 'name'. ¿Cómo puedo pasar esto como un argumento para el exe incluso cuando el valor es una cadena vacía? Intenté usar el operador de llamadas sin éxito.
Probé ambos métodos en PS v5 y el primero no funcionó, pero el segundo sí: './echoargs $ b.name, '" "''. La coma entre los parámetros no parecía ser necesaria en mi caso. – hjoelr