[Fernando Reyes] Echame un cable please!!

20/05/2005 - 12:50 por Pepe | Informe spam
Buenas,

hace poco me ayustate con un Script que copiaba el ultimo archivo modifcado
de una carpeta a otra carpeta.
Lo modifique con mis carpetas en un XP y me funciono pero me encuentro que
en un W2K server no me funciona.

El Script es este ( en este he quitado todo comentario y referencia solo
para poder identificar la linea que provoca el problema de manera mas
comoda, pero cuando lo tenga solucionado prometo arreglarlo en el original
que mantiene comentarios y creditos).

**************
Option Explicit
Const const_SobrescribeExistente = TRUE
Dim dbd_FechaMayor, str_NombreFichero
Dim str_Equipo, obj_WMI, obj_FileSystem
Dim col_Archivos, obj_Archivo
str_Equipo = "."
Set obj_WMI = GetObject("winmgmts:"& "{impersonationLevel=impersonate}!\\" &
str_Equipo & "oot\cimv2")
Set col_Archivos = obj_WMI. ExecQuery("Select * from CIM_DataFile where " &
"Path = '\\Documents and Settings\\Administrador\\Configuración local\\Datos
de programa\\Microsoft\\Windows NT\\NTBackup\\data\\' And Drive = 'C:' " & "
And Name Like '%.log'")
For Each obj_Archivo in col_Archivos
If obj_Archivo.LastModified > dbd_FechaMayor Then
dbd_FechaMayor = obj_Archivo.LastModified
str_NombreFichero = obj_Archivo.Name
End If
Next
Set obj_FileSystem = CreateObject("Scripting.FileSystemObject")
obj_FileSystem.CopyFile str_NombreFichero ,"D:\Logs\" & "INFORME_COPIA_" &
f_Fecha & ".log",const_SobrescribeExistente
Function f_Fecha()
Dim a_Agno, m_Mes, d_Dia
m_Mes = Month(Date)
If m_Mes < 10 Then m_Mes = "0" & m_Mes
d_Dia = Day(Date)
If d_Dia < 10 Then d_Dia = "0" & d_Dia
a_Agno = Year(Date)
f_Fecha = a_Agno & m_Mes & d_Dia
End Function
***********************

El mensaje de error al ejecutarlo es el siguiente :

Linea : 9
Caracter : 1
Error : 0x80041017
Codigo : 80041017
Origen : (null)

En teoria la Linea 9 empieza "For Each..." y la verdad es que no veo que es
lo que puede estar mal.

Muchas gracias de antemano por tu enorme ayuda.
 

Leer las respuestas

#1 ©Alf®edo©
22/05/2005 - 02:14 | Informe spam
Prueba a instalar Windows Scripting Host en el win2k, porque veo que el
script hace uso de las propiedades de FileSystemObjects y es posible
que por eso no te funcione.

Pepe wrote on 20/05/2005 :
Buenas,

hace poco me ayustate con un Script que copiaba el ultimo archivo modifcado
de una carpeta a otra carpeta.
Lo modifique con mis carpetas en un XP y me funciono pero me encuentro que en
un W2K server no me funciona.

El Script es este ( en este he quitado todo comentario y referencia solo para
poder identificar la linea que provoca el problema de manera mas comoda, pero
cuando lo tenga solucionado prometo arreglarlo en el original que mantiene
comentarios y creditos).

**************
Option Explicit
Const const_SobrescribeExistente = TRUE
Dim dbd_FechaMayor, str_NombreFichero
Dim str_Equipo, obj_WMI, obj_FileSystem
Dim col_Archivos, obj_Archivo
str_Equipo = "."
Set obj_WMI = GetObject("winmgmts:"& "{impersonationLevel=impersonate}!\\" &
str_Equipo & "oot\cimv2")
Set col_Archivos = obj_WMI. ExecQuery("Select * from CIM_DataFile where " &
"Path = '\\Documents and Settings\\Administrador\\Configuración local\\Datos
de programa\\Microsoft\\Windows NT\\NTBackup\\data\\' And Drive = 'C:' " & "
And Name Like '%.log'")
For Each obj_Archivo in col_Archivos
If obj_Archivo.LastModified > dbd_FechaMayor Then
dbd_FechaMayor = obj_Archivo.LastModified
str_NombreFichero = obj_Archivo.Name
End If
Next
Set obj_FileSystem = CreateObject("Scripting.FileSystemObject")
obj_FileSystem.CopyFile str_NombreFichero ,"D:\Logs\" & "INFORME_COPIA_" &
f_Fecha & ".log",const_SobrescribeExistente
Function f_Fecha()
Dim a_Agno, m_Mes, d_Dia
m_Mes = Month(Date)
If m_Mes < 10 Then m_Mes = "0" & m_Mes
d_Dia = Day(Date)
If d_Dia < 10 Then d_Dia = "0" & d_Dia
a_Agno = Year(Date)
f_Fecha = a_Agno & m_Mes & d_Dia
End Function
***********************

El mensaje de error al ejecutarlo es el siguiente :

Linea : 9
Caracter : 1
Error : 0x80041017
Codigo : 80041017
Origen : (null)

En teoria la Linea 9 empieza "For Each..." y la verdad es que no veo que es
lo que puede estar mal.

Muchas gracias de antemano por tu enorme ayuda.



Un saludo.

"Nada hay en el mundo tan común como la ignorancia y los charlatanes."
Cleóbulo

Dedicated to crow

Preguntas similares