Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Cambiar un directorio de cmd desde vb.net

Estas en el tema de Cambiar un directorio de cmd desde vb.net en el foro de .NET en Foros del Web. Buenas tardes, necesito su ayuda para resolver algo que me tiene de cabeza, tengo las siguientes instrucciones en el cmd: C:\Facturas\cfdiapdf_base> cfdiapdf.exe C:\Facturas\Brain\cfdi_timbrado_vbnet.xml cfdi_facturista.rep C:\Facturas\Brain\archivo.pdf ...
  #1 (permalink)  
Antiguo 12/03/2014, 13:25
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 1
Pregunta Cambiar un directorio de cmd desde vb.net

Buenas tardes, necesito su ayuda para resolver algo que me tiene de cabeza, tengo las siguientes instrucciones en el cmd:

C:\Facturas\cfdiapdf_base>cfdiapdf.exe C:\Facturas\Brain\cfdi_timbrado_vbnet.xml cfdi_facturista.rep C:\Facturas\Brain\archivo.pdf 2 2

Al ejecutar esto me crea el archivo "nuevo.pdf" esto es correcto.

Ahora, yo necesito hacer esto en VB.net, pero mi problema es este:

1) Cuando yo ejecuto el cmd.exe me aparece con el siguiente directorio:
C:\Users\Alex> y lo que yo necesito es que me aparezca del siguiente modo:

"C:\Facturas\cfdiapdf_base>" (parte azul) porque necesito estar dentro de este directorio para poder ejecutar las instrucciones siguientes (instrucciones en gris)

Como puedo hacer esto en VB.net, les agradecería me ayudaran porque no se como resolverlo, ya intente hacer un .bat y ejecutarlo con shell pero el principal problema es cambiar el directorio desde VB:net.

Gracias por su ayuda.
  #2 (permalink)  
Antiguo 14/03/2014, 08:52
 
Fecha de Ingreso: mayo-2013
Ubicación: Chaco, Argentina
Mensajes: 45
Antigüedad: 11 años, 7 meses
Puntos: 3
Respuesta: Cambiar un directorio de cmd desde vb.net

Hola alejimram_22

Para resolver tu problema agrega en el inicio de tu archivo *.BAT la siguiente línea:

CD\Facturas\cfdiapdf_base

Nota: CD significa Change Directory (Cambiar Directorio)

Espero te funcione! cualquier duda avisanos.

:)
Saludos cordiales!
  #3 (permalink)  
Antiguo 14/03/2014, 09:55
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 1
Mensaje Respuesta: Cambiar un directorio de cmd desde vb.net

Hola Javidtonet

Ya intenté lo que me dices pero no funciona, me manda el siguiente error:

"Archivo no encontrado" (en la línea que esta marcada con color azul)

Te mando mi código para que lo cheques, gracias.


s_reporte = "cfdiapdf.exe" & " C:\Facturas\Brain\cfdi_timbrado_vbnet.xml cfdi_facturista.rep C:\Facturas\Brain\nuevo.pdf 2 2"

Using sw As System.IO.StreamWriter = IO.File.CreateText("C:\Facturas\ruta.bat")
sw.WriteLine("@echo on")
sw.WriteLine(s_reporte)
sw.Close()
End Using

Shell("CD\Facturas\cfdiapdf_base C:\Facturas\ruta.bat")
  #4 (permalink)  
Antiguo 14/03/2014, 14:25
 
Fecha de Ingreso: mayo-2013
Ubicación: Chaco, Argentina
Mensajes: 45
Antigüedad: 11 años, 7 meses
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!
  #5 (permalink)  
Antiguo 14/03/2014, 17:31
 
Fecha de Ingreso: octubre-2009
Mensajes: 75
Antigüedad: 15 años, 1 mes
Puntos: 1
Mensaje Respuesta: Cambiar un directorio de cmd desde vb.net

Ya quedó javidotnet.

Funciona a la perfección, muchas gracias por tu ayuda y tu tiempo. Con esto ya quedó finalizado todo lo que tenia que hacer.

Hasta luego. Saludos.

Etiquetas: cmd, directorio, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:19.