![]() |
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 |
podrías crear el bat y llamarlo desde el tu form de vb. nos vemos. |
O puedes hacer esto: Código: Public Comando As StringCódigo: Sub EsperarShell(sCmd As String)Código: comando="tu comando de ms-dos" |
En vez de usar GetExitCodeProcess podes usa WaitForSingleObject, es mucho mas eficiente de esa manera. |
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 |
Xcopy /s Me respondo yo mismo XCOPY /S resuelve lo anterior. Salu2 |
Cita:
|
hola jorevale, lei tu privado, bue para ejecutar el *.bat es facil shell = ("ruta", vbmaximicedfocus ) cualkier cosa te explico por msn salu2 |
Cita:
nos vemos.. |
Cita:
salu2..y bue vos GEO ni hablar, siempre dando soluciones a todo el mundo :P :arriba: |
jejejeje Cita:
|
Cita:
|
Cita:
nos vemos.. |
| La zona horaria es GMT -6. Ahora son las 02:12. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.