Laden Sie mehrere Dateien von einem FTP mittels VBScript

Ich bin überhaupt kein Experte in VB-Scripting, aber da es eine Anforderung bei einem meiner Projekte für den Augenblick bin ich versucht zu schreiben, ein VBScript, dass alle Dateien aus einem angegebenen FTP-Ordner.

Ich, um eine einzelne angegebene Datei, aber ich kann nicht scheinen, um alle Dateien in einem Ordner. Hier ist das Skript, das ich versuche zu verwenden:

    Dim objOutStream
  Const OpenAsDefault = -2
  Const FailIfNotExist = 0
  Const ForReading = 1
  Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutStream = objFSO.OpenTextFile("C:\temp\temp\empty.txt", ForWriting, True, TristateFalse)
With objOutStream
    .WriteLine "USER myuser"   ' USERNAME
    .WriteLine "mypass"     ' Password
    .WriteLine "binary"
    .WriteLine "prompt n"
    .WriteLine "lcd /foldertocopyfrom" ' FOLDER I'm changing into
    .WriteLine "mget *"    ' Get all files with today's date in it
    .WriteLine "bye"
    .Close
End With

Set oFTPScriptShell = CreateObject("WScript.Shell")
oFTPScriptShell.Run "%comspec% /c FTP -n -s:" & "C:\temp\temp\empty.txt" & " " & "ftp.location.com", 0, True

Es nicht geben mir eine Fehlermeldung oder irgendwas, es ist im Grunde nichts tut (und ja, ich bin sicher, es gibt Dateien in der /foldertocopy aus :-))

Irgendwelche Ideen? Etwas, offensichtlich bin ich vermisst?

Dank!

  • Ihre .Führen Sie nicht geben Sie den vollständigen spec-Datei von Ihrem ftp-command-Datei.
  • In der Tat, ich habe vergessen, um Sie hier hinzufügen, dies ist aber nicht das Problem verursachen...
  • lcd - change local working directory; cd - change remote working directory. Haben Sie versucht, die Befehle interaktiv?
  • ja, das seltsame ist, dass wenn ich versuche meine Befehle in Windows Powershell, und ich Tue die cd Importieren heißt es "Befehl Erfolgreich abgeschlossen", aber wenn ich eine "dir" - Befehl, es nicht tun.... nur dort bleibt, besetzt werden...
  • Korrektur, es gibt mir zuerst: 200 PORT-Befehl erfolgreich 150 Opening ASCII Mode data connection for /bin/ls, dann tut es nichts 🙁
  • Klingt nach einem firewall-problem, es ist wahrscheinlich eine firewall oder ein NAT-router zwischen Ihrem client und dem FTP-server. Sie benötigen einen ftp-client, unterstützt "passive mode"; leider ist die Windows command-line FTP-client nicht unterstützt passiven Modus. Vielleicht können Sie Kostenlose Chilkat FTP-Komponente zum herunterladen von Dateien (chilkatsoft.com/chilkatftp.asp); Beispiel-Skripts: example-code.com/vbscript/ftp.asp .

InformationsquelleAutor Nathan | 2012-02-14
Schreibe einen Kommentar