Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 28-sep-2005, 06:14   #1 (permalink)
jorevale está en el buen camino
 
Avatar de jorevale
 
Fecha de Ingreso: mayo-2005
Ubicación: Dallas, Texas
Mensajes: 309
Enviar un mensaje por MSN a jorevale Enviar un mensaje por Yahoo  a jorevale
Pregunta Ejecutar instrucción DOS desde VB6 en ejecución

Saludos amigos

Lo dicho. Alguien sabe como se puede ejecutar una instrucción DOS desde VB6... algo así como:

copy *.dbf \\192.168.0.1\1

Es para hacer una salva de las bases desde el programa en una máquina diferente. En el ejemplo hacia la carpeta 1, recurso compartido de la red con acceso a todos los usuarios autentificados al dominio, en la máquina de dicha dirección IP

En VFoxPro se podía hacer mediante la instrucción RUN ó !, pero en VB no sé como hacerlo.

Gracias
__________________
Have you ever had a dream, Neo, that you were so sure was real? What if you were unable to wake from that dream... How would you know the difference between the dreamworld and the real world?
jorevale está desconectado   Responder Citando
Antiguo 28-sep-2005, 12:24   #2 (permalink)
Colaborador
GeoAvila llegará a ser famoso muy prontoGeoAvila llegará a ser famoso muy prontoGeoAvila llegará a ser famoso muy pronto
 
Avatar de GeoAvila
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 3.780
Enviar un mensaje por MSN a GeoAvila Enviar un mensaje por Yahoo  a GeoAvila
podrías crear el bat y llamarlo desde el tu form de vb.

nos vemos.
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com
GeoAvila está desconectado   Responder Citando
Antiguo 28-sep-2005, 12:30   #3 (permalink)
jrp01 está en el buen camino
 
Avatar de jrp01
 
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Enviar un mensaje por MSN a jrp01
O puedes hacer esto:
Código:
Public Comando As String
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const STILL_ACTIVE = &H103
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) _
As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) _
As Long
Código:
Sub EsperarShell(sCmd As String)
Dim hShell As Long
Dim hProc As Long
Dim codExit As Long
' ejecutar comando
hShell = Shell(Environ$("Comspec") & " /c " & sCmd, 2)
' esperar a que se complete el proceso
hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell)
Do
    GetExitCodeProcess hProc, codExit
    DoEvents
Loop While codExit = STILL_ACTIVE
MsgBox "El Proceso ha Terminado", vbInformation + vbOKOnly, "Mensaje"
End Sub
y lo mandas llamar asi:
Código:
comando="tu comando de ms-dos"
EsperarShell (Comando)
jrp01 está desconectado   Responder Citando
Antiguo 28-sep-2005, 12:51   #4 (permalink)
Eternal Idol está en el buen camino
 
Avatar de Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Europa (VdL)
Mensajes: 5.060
En vez de usar GetExitCodeProcess podes usa WaitForSingleObject, es mucho mas eficiente de esa manera.
Eternal Idol está desconectado   Responder Citando
Antiguo 14-oct-2005, 06:55   #5 (permalink)
jorevale está en el buen camino
 
Avatar de jorevale
 
Fecha de Ingreso: mayo-2005
Ubicación: Dallas, Texas
Mensajes: 309
Enviar un mensaje por MSN a jorevale Enviar un mensaje por Yahoo  a jorevale
Pregunta Alguien recuerda si en MS-DOS se podían copiar subcarpetas?

Hola amigos

Mi intención con esto era hacer un ejecutable VB, que (mediante una tarea programada) a determinara hora - digamos a las 23:00 - me hiciera una salva diaria de una carpeta con todas sus subcarpetas.

En dicho proceso el programa crea una carpeta que confecciona a partir de las variables
VMonth1 = Trim(Str(Month(Date)))
VDay1 = Trim(Str(Day(Date)))
y en ella copia los datos.

Pero yo no quiero que medie intervención humana, por eso quité el botón de comando y lo puse en el Form_Load, ejecutando un proceso llamado MKDIR.

El programa se ejecuta perfectamente, pero sólo copia los ficheros del directorio raíz, en este caso, de D:\0

Alguien recuerda o sabe si se podrían copiar tambien las subcarpetas?

************

El código me queda así:

Public Comando As String
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const STILL_ACTIVE = &H103
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) _
As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) _
As Long
Private VCadena As String
Private VMonth1 As String
Private VDay1 As String

Sub EsperarShell(sCmd As String)
Dim hShell As Long
Dim hProc As Long
Dim codExit As Long
' ejecutar comando
hShell = Shell(Environ$("Comspec") & " /c " & sCmd, 2)
' esperar a que se complete el proceso
hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell)
Do
GetExitCodeProcess hProc, codExit
DoEvents
Loop While codExit = STILL_ACTIVE
'MsgBox "El Proceso ha Terminado", vbInformation + vbOKOnly, "Mensaje"
End Sub

Private Sub MKDIR()
VMonth1 = Trim(Str(Month(Date)))
VDay1 = Trim(Str(Day(Date)))
VCadena = "MD D:\1\" & VMonth1 & "-" & VDay1
Comando = VCadena
EsperarShell (Comando)
VCadena = "COPY D:\0\*.* D:\1\" & VMonth1 & "-" & VDay1
Comando = VCadena
EsperarShell (Comando)
End Sub

Private Sub Form_Load()
MKDIR
End
End Sub
__________________
Have you ever had a dream, Neo, that you were so sure was real? What if you were unable to wake from that dream... How would you know the difference between the dreamworld and the real world?
jorevale está desconectado   Responder Citando
Antiguo 14-oct-2005, 07:48   #6 (permalink)
jorevale está en el buen camino
 
Avatar de jorevale
 
Fecha de Ingreso: mayo-2005
Ubicación: Dallas, Texas
Mensajes: 309
Enviar un mensaje por MSN a jorevale Enviar un mensaje por Yahoo  a jorevale
Cool Xcopy /s

Me respondo yo mismo

XCOPY /S resuelve lo anterior.

Salu2
__________________
Have you ever had a dream, Neo, that you were so sure was real? What if you were unable to wake from that dream... How would you know the difference between the dreamworld and the real world?
jorevale está desconectado   Responder Citando
Antiguo 14-oct-2005, 22:28   #7 (permalink)
aldo1982 ha deshabilitado el karma
 
Avatar de aldo1982
 
Fecha de Ingreso: noviembre-2004
Ubicación: santafe (argentina) COLON de STAFE
Mensajes: 1.090
Cita:
Iniciado por jorevale
Me respondo yo mismo

XCOPY /S resuelve lo anterior.

Salu2
hacelo con un *.bat y liisto
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
aldo1982 está desconectado   Responder Citando
Antiguo 15-oct-2005, 14:07   #8 (permalink)
aldo1982 ha deshabilitado el karma
 
Avatar de aldo1982
 
Fecha de Ingreso: noviembre-2004
Ubicación: santafe (argentina) COLON de STAFE
Mensajes: 1.090
hola jorevale, lei tu privado, bue para ejecutar el *.bat es facil
shell = ("ruta", vbmaximicedfocus )
cualkier cosa te explico por msn
salu2
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
aldo1982 está desconectado   Responder Citando
Antiguo 16-oct-2005, 08:12   #9 (permalink)
Colaborador
GeoAvila llegará a ser famoso muy prontoGeoAvila llegará a ser famoso muy prontoGeoAvila llegará a ser famoso muy pronto
 
Avatar de GeoAvila
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 3.780
Enviar un mensaje por MSN a GeoAvila Enviar un mensaje por Yahoo  a GeoAvila
Cita:
Iniciado por aldo1982
cualkier cosa te explico por msn
salu2
Gracias por incluir a los foreros en las explicaciones...

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com
GeoAvila está desconectado   Responder Citando
Antiguo 17-oct-2005, 14:17   #10 (permalink)
aldo1982 ha deshabilitado el karma
 
Avatar de aldo1982
 
Fecha de Ingreso: noviembre-2004
Ubicación: santafe (argentina) COLON de STAFE
Mensajes: 1.090
De acuerdo

Cita:
Iniciado por GeoAvila
Gracias por incluir a los foreros en las explicaciones...

nos vemos..
bue la verdad es ke cuando tengo tiempo trato de aportar lo maximo ke puedo en este foro ya ke a mi me ayudan mucho y bue de alguna manera hay ke hacer algo.
salu2..y bue vos GEO ni hablar, siempre dando soluciones a todo el mundo :P
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
aldo1982 está desconectado   Responder Citando
Antiguo 17-oct-2005, 14:44   #11 (permalink)
lop7 ha deshabilitado el karma
 
Avatar de lop7
 
Fecha de Ingreso: junio-2005
Ubicación: portuguesa (Venezuela)
Mensajes: 185
Alegría jejejeje

Cita:
Iniciado por aldo1982
bue la verdad es ke cuando tengo tiempo trato de aportar lo maximo ke puedo en este foro ya ke a mi me ayudan mucho y bue de alguna manera hay ke hacer algo.
salu2..y bue vos GEO ni hablar, siempre dando soluciones a todo el mundo :P
si pero creo que lo q dice geo es q al explicar por msn no involucras a los foreros..jejeje
__________________
A quien dices un secreto le entregas tu libertad :si:
lop7 está desconectado   Responder Citando
Antiguo 17-oct-2005, 15:08   #12 (permalink)
aldo1982 ha deshabilitado el karma
 
Avatar de aldo1982
 
Fecha de Ingreso: noviembre-2004
Ubicación: santafe (argentina) COLON de STAFE
Mensajes: 1.090
Cita:
Iniciado por lop7
si pero creo que lo q dice geo es q al explicar por msn no involucras a los foreros..jejeje
ajaj entendi mal tonces
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA
aldo1982 está desconectado   Responder Citando
Antiguo 18-oct-2005, 07:54   #13 (permalink)
Colaborador
GeoAvila llegará a ser famoso muy prontoGeoAvila llegará a ser famoso muy prontoGeoAvila llegará a ser famoso muy pronto
 
Avatar de GeoAvila
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 3.780
Enviar un mensaje por MSN a GeoAvila Enviar un mensaje por Yahoo  a GeoAvila
Cita:
Iniciado por lop7
si pero creo que lo q dice geo es q al explicar por msn no involucras a los foreros..jejeje
exacto a eso me refería..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com
GeoAvila está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:34.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93