Probema al ejecutar un .bat con shell

Iniciado por Bardick, 1 Julio 2008, 21:04 PM

0 Miembros y 1 Visitante están viendo este tema.

Bardick

Buenas,tengo un problemilla con el comando shell y es que cuando lo uso en visual basic me ejecuta el archivo.bat pero me sale una ventana de MS-Dos diciendo que no se reconoce como un comando interno o externo,entonces no me funciona.

El codigo que uso es el siguiente:


variable = C:\Archivos de programa
Shell (variable & "\archivo.bat")


Como puedo entonces ejecutar un archivo.bat desde visual basic y que me lo ejecute correctamente sin dar ningun problema?

‭‭‭‭jackl007

variable = C:\Archivos de programa

sin comillas?
prueba con esto:
Shell (variable & "\archivo.bat ")
(hay un espacio).

y dime te funciona esto:
Shell ("C:\Archivos de programa\archivo.bat ") ??

Novlucker

Citarpero me sale una ventana de MS-Dos diciendo que no se reconoce como un comando interno o externo

Obviamente la ejecución del *.bat es correcta, eso está bien, lo que esta mal es el code del bat  :-X

Que tienes en el *.bat  :huh:

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Bardick

Me equivoque en el post anterior en poner las comillas para la variable  :-\ en visual basic lo tengo bien, con las comillas puestas.

Cita de: jackl007 ツ en  1 Julio 2008, 21:05 PM
variable = C:\Archivos de programa

sin comillas?
prueba con esto:
Shell (variable & "\archivo.bat ")
(hay un espacio).

y dime te funciona esto:
Shell ("C:\Archivos de programa\archivo.bat ") ??


Lo he probado asi y tampoco me funciona

He probado como me habeis dicho pero me sigue sin funcionar,en el bat simplemente tengo esto:

del archivo.bat

Y es raro porque es una instruccion simple que deberia ejecutar y borrarse el archivo.bat sin problemaspero no lo hace  >:(

‭‭‭‭jackl007

esto funciona:
Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim ruta As String
ruta = "C:\Process.bat"
Shell ruta
End Sub


verifica la ruta correcta.

70N1

#5
El bat que intentas eliminar es el mismo bat que estas ejecutando?.


Por que si no me equivoco no se puede elimar a si mismo mientras se este ejecutando.
Tendrias que ejecutar el bat como un proceso y cuando finalice el proceso eliminarlo.

70N1

Bardick

Que usas visual basic 6?

Es que yo uso visual basic 2008 y cuando pongo shell ruta me lo cambia automaticamente a Shell (ruta).

He usado el mismo codigo que tu (cambiando la ruta) pero no me funciona  :-(



En cuanto a lo del archivo.bat tambien he probado poniendo:

start firefox

Y tampoco funciona,si lo hago manualmente se ejecuta perfectamente pero desde la shell de visual basic no  :-\

Mi windows Xp esta instalado en la unidad D:,podria ser que al usar la shell de visual basic llamando un archivo de la unidad C: diera problemas?

cassiani

#7
Cita de: 70N1 en  2 Julio 2008, 00:58 AM
Por que si no me equivoco no se puede elimar a si mismo mientras se este ejecutando.
Tendrias que ejecutar el bat como un proceso y cuando finalice el proceso eliminarlo.

Si te equivocas, los .Bat si se eliminan a si mismo...

Este es el sub-foro de vb6  :-\ y los ejemplos que aqui te dan son pensados en el (obvio).

‭‭‭‭jackl007

el codigo que te puse (el ultimo) funciona bien, nose porque a ti no te va.

seba123neo

aparte de que estas usando el visual baisc 2008 ,copiaste el evento del boton como si se tratara de un boton de visual basic...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson