¿Cómo iniciar un programa almacenado en un recurso compartido UNC desde la línea de comandos con parámetros?
-
08-07-2019 - |
Pregunta
Hay un programa interno que utilizamos y se almacena en un recurso compartido UNC para que las actualizaciones sean transparentes. Me gustaría proporcionarle algunos parámetros de línea de comando de esta manera:
\\server\share\in_house_thingy.exe myusername mypassword
Pero parece que no puedo hacer que funcione en CMD o PowerShell o mediante un acceso directo.
¿Alguien tiene alguna idea?
Solución
Para un acceso directo, cambie el objetivo para que sea así:
"\\server\share\in_house_thingy.exe" myusername mypassword
a menos que realmente desee tener que usar PowerShell para que esto funcione.
Otros consejos
Puedes usar:
$app = '\\server\share\in_house_thingy.exe'
$arguments = 'myusername mypassword'
$process = [System.Diagnostics.Process]::Start($app, $arguments)
El objeto $ process le dará un objeto de proceso en vivo si desea obtener un código de salida u otra información de ese proceso.
use % ~ dp0
en un archivo por lotes para la ruta actual (unc) que incluye el \
en un script de PowerShell use esto para la ruta actual (unc) sin seguir \
<*> = $myInvocation.MyCommand.Definition
$dp0 = [System.IO.Path]::GetDirectoryName(<*>)
Acabo de notar que hay un archivo .CMD que copia el archivo del recurso compartido en el directorio temporal y lo ejecuta localmente.
Si todos pudieran votar esta respuesta si no hay una solución mejor, eso funcionará.