[Batch] FTP-Transfer einer Datei

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von joker.org, 18. April 2013 .

Schlagworte:
  1. 18. April 2013
    FTP-Transfer einer Datei

    Hallo zusammen,

    ich hoffe, ihr könnt mir helfen.
    Ich habe eine Datei "test.pdf", die im Verzeichnis C:/Test/ liegt.
    Diese Datei möchte ich automatisch in einem Intervall (durch Windows Task) auf dem FTP-Server ersetzen.
    Die Ordnerstruktur auf dem FTP sieht folgendermaßen aus:
    ./
    ./Test/
    ./Bilder/
    ./Dokumente/

    Ich möchte die Datei im Ordner "Test" haben.
    Wie muss meine Batch-Datei aussehen?

    Es sollen keine Meldungen erscheinen und die Datei soll ohne nachzufragen ersetzt werden.

    Danke im Voraus.

    Gruß,
    joker.org
     
  2. 18. April 2013
    Zuletzt bearbeitet: 18. April 2013
    AW: FTP-Transfer einer Datei

    wput heißt deine lössung

    wput -u [file]... ftp://[username[ assword]@]hostname[ ort][/[path/][file]]

    MEldung inwiefern? da würden mir nur bat2exe einfallen und da dann im BG laufen lassen anschalten
     
  3. 18. April 2013
    AW: FTP-Transfer einer Datei

    Microsoft Corporation
    Microsoft Corporation

    Da steht alles, was du benötigst. Wenn du ein fertiges Script / Programm willst bist du hier falsch. Ansonsten stelle eine direktere Frage, wenn du Probleme während der Entwicklung hast.
     
  4. 18. April 2013
    Zuletzt bearbeitet: 18. April 2013
    AW: FTP-Transfer einer Datei

    Danke für den Hinweis.
    Es kommt ja eine Meldung, dass die Datei bereits existiert und überschrieben wird.
    Diese Meldung möchte ich ausblenden bzw. immer mit ja automatisch bestätigen.

    Ich habe bis jetzt den folgenden Code:

    Code:
    OPEN http://www.ftpserver.at
    benutzername
    passwort
    
    CD test
    [B]BINARY[/B]
    PUT C:\Desktop\Test\test.pdf
    bye
    
    Hier noch ein weiterer Code:

    Code:
    open [FTP-Server]
    [FTP-username]
    [Passwort]
     
    hash
    [B]binary[/B]
     
    lcd C:\Desktop\Test\
    cd /test
    put test.pdf
    
    by
    
    -----------
    
    @echo off
    echo --- starte FTP-Transfer...
    ftp -s:data_transfer.ftp
    echo --- fertig.
    
    
    Gruß,
    joker.org
     
  5. 18. April 2013
    AW: FTP-Transfer einer Datei

    ASCII für ein PDF Dokument halte ich für die falsche Wahl. Ansonsten was hindert dich daraun einfach via delete die alte Datei zu löschen?
     
  6. 18. April 2013
    AW: FTP-Transfer einer Datei

    @ MasterJulian: ich kann die alte Datei löschen. Was ist jedoch, wenn diese im Browser eines Users gerade offen ist?
    Wird die Datei trotzdem gelöscht?
    Muss ich im Modus "Binär" das PDF-Dokument übermitteln?
    Oder gar kein Modus angeben? Ich kenne mich mit Batch-Dateien nicht so gut aus.

    Danke für deine Hilfe.

    Gruß,
    joker.org
     
  7. 18. April 2013
    Zuletzt bearbeitet: 2. Mai 2013
    AW: FTP-Transfer einer Datei

    Ich würde erst die neue PDF unter einen Temporären Namen hochladen und danach die alte PDF-Datei löschen und die neue den richtigen Namen geben.


    Code:
    set ftphost=DOMAIN.tld
    set ftplogin=LOGIN
    set ftppassword=DEINPASSWORT
    set fileLocal=C:\desktop\info_new.pdf
    set uploadPath=/httpdocs/
    set fileOnServer=info.pdf
    set fileTmpOnServer=info_new.pdf
    
    
    REM DO NOT EDIT AFTER THIS LINE ;)
    
    echo OPEN %ftphost%>ftpscript_tmp.txt
    echo %ftplogin%>>ftpscript_tmp.txt
    echo %ftppassword%>>ftpscript_tmp.txt
    echo CD %uploadPath% >> ftpscript_tmp.txt
    echo BINARY >> ftpscript_tmp.txt
    echo PUT %fileLocal% >> ftpscript_tmp.txt
    echo delete %uploadPath%/%fileOnServer% >> ftpscript_tmp.txt
    echo rename %uploadPath%/%fileTmpOnServer% %uploadPath%/%fileOnServer% >> ftpscript_tmp.txt
    echo bye >> ftpscript_tmp.txt
    
    
    FTP -s:ftpscript_tmp.txt
    del ftpscript_tmp.txt
     
  8. 19. April 2013
    AW: FTP-Transfer einer Datei

    @ Nanobyte: Danke für deine Hilfe.
    Was mir jetzt noch nicht ganz klar ist, warum du alle Befehle protokollierst in ftpscript_tmp.txt und diese Datei dann ausführst und am Ende löschst?
    Ich möchte den Vorgang ja regelmäßig wiederholen. Muss die Datei dann nicht immer gleich aussehen und nur ausgeführt werden (2. Zeile von unten)?

    Danke und Gruß,
    joker.org
     
  9. 19. April 2013
    Zuletzt bearbeitet: 19. April 2013
    AW: FTP-Transfer einer Datei

    Der "Code" ist bereits die .bat-Datei

    Den Oberen teil musst du ausfüllen und dann einfach Speichern.

    Alle Zeilen die mit "echo" Anfangen werden in die Datei "ftpscript_tmp.txt" geschrieben und danach an die FTP-Funktion übergeben.
    Nach dem Ausführen wird dann die "ftpscript_tmp.txt"-Datei gelöscht.

    In dem Code wird die TXT-Datei mit den FTP-Befehlen Dynamisch anhand der Variablen erzeugt und nach jeder Ausführung wieder gelöscht für den Fall das eine Variable geändert wurde.

    Rein Technisch kannst du natürlich alle "echo" zeilen, ohne "echo" und ohne ">>ftpscript_tmp.txt" direkt in eine txt-Datei schreiben.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.