1 votos

Ejecución de orden después de la conexión

<p>Estoy tratando de ejecutar un comando específico en un script bat después de encontrar la ruta de la carpeta. Aquí es lo que tengo hasta ahora:<pre><code></code></pre><p>El problema que tengo es ejecutar el <em>cscript ospp.vbs /dstatus</em> </p></p>

3voto

Jezze Puntos 21
<p>¿Si esta secuencia de comandos está siendo guardado como un archivo .bat, es allí una razón que están diciendo el archivo por lotes para abrir otra instancia de línea de comandos?<p>Para este sencillo script no necesita hacer eso. También, su camino para cd debe rodear la línea completa entre comillas dobles. Los siguientes cambios de trabajo para sus necesidades.</p><pre><code></code></pre></p>

2voto

AFH Puntos 3747

Hay dos razones por las que el guión está fallando:-

  1. cmd /k ... crea una nueva instancia de cmd, se ejecuta el comando especificado, a continuación, se solicita de esta instancia y no continuar con el original cmd hasta que escriba exit.
  2. Incluso si usted ha usado cmd /c ... a ejecutar una cadena de comandos y salir inmediatamente, el cd de ejecución en el subshell no afectaría el directorio actual en el original cmd.

Para conservar el directorio actual después de que el script se ejecute, puede utilizar:

cmd /c "cd C:\Program Files (x86)\Microsoft Office\Office15\ & cscript ospp.vbs /dstatus"

o, más sencillamente, no utilice un subshell, pero el uso de pushd en lugar de cd y ejecute popd después cscript devuelve:-

@ECHO OFF
pushd "C:\Program Files (x86)\Microsoft Office\Office15\"
cscript ospp.vbs /dstatus
popd
pause

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: