Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/07/2006, 05:28
jorevale
Invitado
 
Mensajes: n/a
Puntos:
El código que te pongo abajo....

... es un ejecutable que se ejecuta (jeje) a determinada hora (mediante tarea programada) y hace una copia compactada de una carpeta del sistema, a puro MS-DOS, con la característica de que debe tener el Pkzip.exe en el mismo fichero del ejecutable. (Todo el crédito para Foros del Web)

Adaptalo a lo que necesites, simplemente cambiando las instrucciones DOS.

Salu2

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 VCadena1 As String
Private VCadena2 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 MSDOS()
'Supongamos que la fecha 14 de octubre
VMonth1 = Trim(Str(Month(Date)))
VDay1 = Trim(Str(Day(Date)))
VCadena1 = VMonth1 & "-" & VDay1 'VCadena1="10-14"
VCadena2 = "Z:\AUTI\BCK\AST" & VCadena1 'VCadena2=Z:\AUTI\BCK\AST10-14 (Este es el directorio)
VCadena = "MD Z:\AUTI\BCK\AST" & VMonth1 & "-" & VDay1
'VCadena = MD Z:\AUTI\BCK\AST10-14
Comando = VCadena
EsperarShell (Comando)

VCadena = "XCOPY /S Z:\AUTI\AST\*.* Z:\AUTI\BCK\AST" & VMonth1 & "-" & VDay1
'VCadena = XCOPY /S Z:\AUTI\AST\*.* Z:\AUTI\BCK\AST10-14 (Salva las bases)
Comando = VCadena
EsperarShell (Comando)

VCadena = "PKZIP -ASalt AST" & VCadena1 & " Z:\AUTI\BCK\AST" & VMonth1 & "-" & VDay1 & "\*.*"
'VCadena = PKZIP -ASalt AST10-14 Z:\AUTI\BCK\AST10-14\*.*
'Crea fichero AST10-14.zip, con clave "alt", en el que compacta el contenido de Z:\AUTI\BCK\AST10-14\*.*
Comando = VCadena
EsperarShell (Comando)

VCadena = "RD /S/Q Z:\AUTI\BCK\AST" & VMonth1 & "-" & VDay1
'VCadena = RD /S/Q Z:\AUTI\BCK\AST14-10 (Borra el directorio y queda sólo el compactado)
Comando = VCadena
EsperarShell (Comando)
End Sub

Private Sub Form_Load()
MSDOS
End
End Sub