[Batch/Bash] automatischer ftp-upload

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Kritiker, 11. November 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 11. November 2008
    automatischer ftp-upload

    'n abend,


    ich habe unter windows eine batchdatei erstellt, die zum automatisierten upload von dateien auf einen ftp-server dient. durch die batch-datei wird ftp.exe gestarter und befehle automatisch abgearbeitet, die in einer gesonderten datei liegen.


    hier, die batch-datei (ftp-transfer.bat):

    Code:
    @echo off
    echo :::::: FTP-UPLOAD ::::::
    
    echo.
    echo.
    echo.
    
    cd [VERZEICHNIS, IN DEM DER FTP-SKRIPT LIEGT]
    
    ftp -s:transfer.ftp
    
    echo :::::: FERTIG! ::::::
    echo.
    echo.
    echo.
    
    pause

    und hier die automatisch abzuarbeitenden befehle (transfer.ftp):

    Code:
    open [IP DES FTP-SERVERS]
    [LOGIN]
    [PASSWORD]
    
    lcd [QUELLVERZEICHNIS]
    cd [ZEILVERZEICHNIS]
    
    send [DATEI]
    
    bye

    jetzt zu meiner frage: wie lässt es sich realisieren, dass die anmeldung durch eine manuelle benutzereingabe erfolgt, die befehle anschließend aber wieder automatisch abgearbeitet werden?

    danke im voraus!
     
  2. 11. November 2008
    AW: automatischer ftp-upload

    Code:
    set /p user=Username: 
    echo Dein Username lautet %user%
    
    echo.
    
    set /p pass=Password:
    echo Dein Passwort lautet %pass%
    
    echo.
    
    pause>nul
    
    echo und beides zusammen: Username: %user%, Password: %pass%
    mit set /p kann man benutzereingaben in eine variable packen und beliebig verwenden.
    mit pause>nul kannst du "warten" bis der user eingabe drückt!
     
  3. 11. November 2008
    AW: automatischer ftp-upload

    das, was du geschrieben hast, funktioniert innerhalb von cmd.exe bzw. einer batch-datei. wie aber übergebe ich die in einer variable gespeicherten benutzereingaben für "user" und "pass" an ftp.exe?
     
  4. 11. November 2008
    AW: automatischer ftp-upload

    indem du sie in deine transfer.ftp schreibst ?

    echo %user% >> transfer.ftp

    natürlich musst du die ganzen form auch übernehmen. is zwar umständlich, aber es klappt!
     
  5. 11. November 2008
    AW: automatischer ftp-upload

    also ich habe jetzt folgendes versucht:

    Code:
    ECHO :::: FTP-UPLOAD ::::
    ECHO.
    ECHO.
    ECHO.
    
    ECHO .:.: Anmeldung :.:.
    set /p USER = "User: "
    
    set /p PASS = "Password: "
    
    ECHO OPEN [IP] > ftp-upload--skript.txt
    ECHO %USER% >> ftp-upload--skript.txt
    ECHO %PASS% >> ftp-upload--skript.txt
    ECHO LCD [QUELLVERZEICHNIS] >> ftp-upload--skript.txt
    ECHO CD [ZIELVERZEICHNIS] >> ftp-upload--skript.txt
    ECHO SEND [DATEI] >> ftp-upload--skript.txt
    ECHO BYE >> ftp-upload--skript.txt
    ECHO.
    ECHO.
    PAUSE

    der login funktioniert immer noch nicht. in der erzeugten datei steht folgendes:

    Code:
    OPEN [IP]
    ECHO ist eingeschaltet (ON).
    ECHO ist eingeschaltet (ON).
    LCD [QUELLVERZEICHNIS]
    CD [ZIELVERZEICHNIS]
    SEND [DATEI]
    BYE 
    woran liegt es? ich komme nicht drauf...
     
  6. 11. November 2008
    AW: automatischer ftp-upload

    Ändere deine Zeilen
    Code:
    set /p USER = "User: "
    set /p PASS = "Password: "
    mal in
    Code:
    set /p USER="User: "
    set /p PASS="Password: "
    GreetZ, ~Br4inP4in~
     
  7. 11. November 2008
    AW: automatischer ftp-upload

    zuerst mal würde ich "@echo off" einfügen, sonst siehts ja schrecklich aus ^^

    dann hab ich ein paar fehler korrigiert

    Code:
    @echo off
    ECHO :::: FTP-UPLOAD ::::
    ECHO.
    ECHO.
    ECHO.
    
    ECHO .:.: Anmeldung :.:.
    set /p USER=User:
    
    set /p PASS=Password:
    
    ECHO OPEN [IP] >> ftp-upload--skript.txt
    ECHO %USER% >> ftp-upload--skript.txt
    ECHO %PASS% >> ftp-upload--skript.txt
    ECHO LCD [QUELLVERZEICHNIS] >> ftp-upload--skript.txt
    ECHO CD [ZIELVERZEICHNIS] >> ftp-upload--skript.txt
    ECHO SEND [DATEI] >> ftp-upload--skript.txt
    ECHO BYE >> ftp-upload--skript.txt
    ECHO.
    ECHO.
    PAUSE>nul
    
    du musst darauf achten, dass beim setzen der variable das = ohne leerzeichen an der variablen kommt und der text dann auch! die anführeungszeichen würde ich ganz weglassen!
     
  8. 11. November 2008
    AW: automatischer ftp-upload

    danke euch beiden! jetzt klappt's!

    ich dachte, das mit den leerzeichen wird so gehandhabt wie z.b. in python.
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.