Como evitar que un archivo .bat me pida confirmación para abrir un programa (desea continuar Si o No)

Cuando quiero ejecutar un archivo bat me pregunta desea continuar si o no, mientras no le de SI, no continua, como hago para evitar esto.

Respuesta
2

En principio la ejecución de un bat no lleva asociada esa pregunta. Por tanto o es alguna peculiaridad del contexto de ejecución o es algún comando o programa lanzado desde el bat. En ese caso tal vez se pudiera preparar el bat para que generase la respuesta. Pero tendría que saber algo más concreto o un ejemplo similar para poder sugerirte algo. Prueba con un bat sencillo que solo contenga algo como

Echo Hola mundo

Y comprueba que no te pide confirmación para ejecutarlo. A partir de ahí vete añadiendo los comandos de tu propio bat hasta descubrir el responsable de esa confirmación. Por poner un ejemplo de comandos que pueden esperar respuesta podrías probar con un copy de un archivo de prueba sobre otro que ya existe. Aunque haya maneras de evitar que pida confirmación para el ejemplo no se utilizaría esa opción que la evita y probaríamos a generar la confirmación desde el propio bat.

Al releer tu consulta creo que no te había entendido del todo bien y que en realidad ya das a entender que es al lanzar un programa desde un bat cuando te pide confirmación. Por las pruebas que he hecho parece que esto solo ocurre si el propio programa pide esa confirmación. En todo caso la forma que te sugiero es la que sigue:

...
echo "SI" > respond.txt
PROGRAMA < respond.txt
...
...

Los ... simulan los comando anteriores y posteriores a la ejecución del programa, respond.txt es un archivo auxiliar en el que se guarda la respuesta (en este caso "SI"). Donde pone PROGRAMA debe ponerse en su lugar la invocación al programa en cuestión con el path que le corresponda (por ejemplo c:\pruebas\programita).

Si tienes alguna duda o no lo estoy entendiendo bien dímelo.

Si ya analice bien el script y el archivo BAT me lleva a un a archivo.WSF (este es el archivo que me pide la confirmación) como puedo evitar que no me siga pidiendo esto

Esta es la parte que me pide la confirmación:

getInputArguments()

' ask a user, If he/she really wants to make a backup or maybe clicked on a menu item by mistake
If INP_SILENT_MODE = "n" Then
WScript.Echo("Do you want to start backup process y/n?")
while answer <> "y" And answer <> "n" And answer <> "Y" And answer <> "N"
answer = Wscript.StdIn.ReadLine
wEnd
If (answer = "n" Or answer = "N") Then
Quit__(SUCCESS)
End If
End If

Por lo que me cuentas, es el archivo WSF (he buscado en la red y he visto que se trata de la extensión de los "Windows Scripting Files" que permiten mezclar lenguajes, pero eso solo como una cuestión de curiosidad) el que hace la petición de confirmación. Por supuesto que una manera de evitarlo sería corregir el propio WSF para que se ejecutara en el SILENT_MODE, cuya existencia parece deducirse del fragmento que has copiado, pero en esta sección de la página la "solución" debería tratarse a nivel del propio BAT que invoca o llama al WSF. Y ahí entraría la solución que te proponía más arriba. Solo tienes que incluir en el BAT esas instrucciones, adaptadas a tu caso concreto (por ejemplo al idioma, tal vez haya que incluir en RESPOND.TXT un "YES" en lugar de un "SI") y comprobar si funciona o no la solución.

Si quieres resolver el caso a nivel de archivo WSF no puedo decirte mucho más que lo que digo más arriba, intentar que se ejecute en "modo silencioso" poniendo en algún sitio una instrucción equivalente a INP_SILENT_MODE = "y"

¡Gracias! 

¿Ya has conseguido lo que pretendías? Si no es así, si habiendo utilizado el método sugerido todavía no se evita que pida confirmación, dímelo y podemos seguir intentando algo.

¡Gracias!  si ya pude

¡Estupendo! Me alegro mucho.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas