elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: Como tener confirmación de copia de archivos vbs en: 27 Septiembre 2017, 22:19 pm
Por favor lee las reglas del foro y formatea ese código.



Añade un control de errores mediante el uso de On Error Resume Next al llamar al método Copy / CopyHere y evalua el valor de la propiedad Err.Number.

Aquí tienes la documentación:

Y este sencillo ejemplo demostrativo que escribí:
Código
  1. Set folder = CreateObject("Scripting.FileSystemObject"). _
  2.             GetFolder("C:\Source Directory\")
  3.  
  4. On Error Resume Next
  5.    folder.Copy("C:\Target Directory\")
  6.  
  7.    If (Err.Number <> 0) Then
  8.        MsgBox(Err.Description)
  9.    Else
  10.        MsgBox("Copy Successful")
  11.    End If
  12. On Error Goto 0



¿Hay alguna buena razón por la que utilices un código de salida 5?, eso es algo atípico, lo normal sería que usases el Cero para indicar una terminación exitosa de la aplicación...:

Código
  1. Wscript.Quit( 0 )

Saludos

Hola Elektro
La razon por la que devuelvo un (5) es porque el script lo ejecuto llamado por otra aplicación que necesita este (5) para que entienda que ha finalizado correctamente y se pueda cerrar sin errores.

Muchas gracias por la aportación, lo pruebo.
2  Programación / Scripting / Como tener confirmación de copia de archivos vbs en: 27 Septiembre 2017, 19:39 pm
Hola he hecho este script para copiar unas carpetas que contienen imágenes.
Mi consulta es como puedo confirmar (mediante comparación o verificando) que las carpetas se han copiado completamente.

Gracias por adelantado.

Código:
[Option Explicit

Dim objArgumentos
Set objArgumentos = WScript.Arguments

If objArgumentos.Count = 0 Then
    MsgBox ("No hay argumentos")
Else
Dim  IP, OF, LOT, MODULO

    IP= objArgumentos.Item(0)
OF= objArgumentos.Item(1)
    LOT= objArgumentos.Item(2)
    MODULO= objArgumentos.Item(3)

Dim Nosecopian
    'Pregunta de fin de lote productivo
    If Msgbox("Fin de lote productivo?", vbYesNo, "Confirmar") = vbNo Then
        'No es fin de lote productivo no realiza ninguna acción
        Nosecopian = MSGBOX ("No se copian las imagenes" & chr(13) & "Se finaliza lote", VBEXCLAMATION, "Aviso")
    Else
Dim nameFolder, dtmValue, ParentFolder
Dim objShell,objFolder,objFSO
        'Adquirimos la hora actual
        Set objFSO = CreateObject("Scripting.FileSystemObject")
dtmValue = Now()
        'Creamos la carpeta de destino
nameFolder = IP & "\" & OF & "_" & LOT & "_" & MODULO & "_" & Year(dtmValue) & "-" & Month(dtmValue) & "-" & Day(dtmValue) & "_" & Hour(dtmValue) & "-" & Minute(dtmValue)
objFSO.CreateFolder(nameFolder)

'Copiamos carpeta
Const FOF_CREATEPROGRESSDLG = &H0&
ParentFolder = (nameFolder)
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(ParentFolder)
objFolder.CopyHere "e:\folder\folder\*.*", FOF_CREATEPROGRESSDLG

        'Preguntamos si se borran las imagenes
Set objFSO = CreateObject("scripting.FileSystemObject")
        If Msgbox("Imagenes copiadas correctamente" & chr(13) & "Borrar imagenes?", vbYesNo, "Confirmar") = vbYes Then
           objFSO.deletefolder "e:\folder\folder\*.*"  
        End if
    End if
End if

wscript.Quit(5)]
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines