Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/03/2014, 14:25
javidotnet
 
Fecha de Ingreso: mayo-2013
Ubicación: Chaco, Argentina
Mensajes: 45
Antigüedad: 11 años
Puntos: 3
De acuerdo Respuesta: Cambiar un directorio de cmd desde vb.net

Hola alejimram_22

Muy bien, ahora sí quedó identificado el problema!

En primer lugar el CD no va dentro del Shell, sino dentro del archivo *.BAT, porque dentro del Shell sólo van los ejecutables *.EXE

Ahora bien, para poder ejecutar el *.BAT con el Shell, hay que valerse del intérprete de comandos, es decir del CMD.EXE, por lo tanto la solución quedaría de la siguiente forma:

Código vb.net:
Ver original
  1. Using sw As System.IO.StreamWriter = IO.File.CreateText("C:\Facturas\ruta.bat")
  2.      sw.WriteLine("@echo on")
  3.      sw.WriteLine("CD\Facturas\cfdiapdf_base")
  4.      sw.WriteLine(s_reporte)
  5.      sw.Close()
  6. End Using
  7.  
  8. Shell("cmd.exe /k C:\Facturas\ruta.bat")

Fijate que el CD va en la línea nº 3 y mirá la forma en que se llama al archivo *.BAT:
con /k la ventana del MS-DOS (CMD.EXE) queda abierta, pero si vos no querés que quede abierta, mejor dicho que la ejecución del *.BAT sea un proceso transparente para el usuario, entonces debés colocar /c en lugar de /k

Espero logres tu objetivo!

Saludos Cordiales!