batch problem

Dieses Thema batch problem im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von fred feuerstein, 10. Mai 2005.

Thema: batch problem Hallo, Ich habe mir ein Batch-Menu erstelt ,von dem weitere Batch Dateien gestartet werden ,die sich jeweils mit...

  1. Hallo,
    Ich habe mir ein Batch-Menu erstelt ,von dem weitere Batch Dateien gestartet werden ,die sich jeweils mit einem Server verbinden .

    Befehl für die .bat:

    ftp -s:do1.ftp

    do1.ftp:
    open ftp.test.ch
    user
    password

    So ,nun muss ich theoretisch in jede *.ftp Datei separat den Server,User und Passw. eingeben .
    Ich würde es aber lieber so haben ,dass ich zb. mit dem Befehl

    IP ,User ,Pass eingeben:notepad config.txt

    in die config.txt

    open ftp.test.ch
    user
    password

    reinschreibe und anschliessend diese 3 zeilen an den anfang jeder *.ftp schreibe .
    Könnte mir jemand einen Tipp geben wie das mit einer Batch zu realisieren ist ?

    mfg fred feuerstein
     
  2. Sorry, ich kann deiner Beschreibung nicht folgen....

    Cheers,
    Joshua
     
  3. sorry ,
    vielleicht unlücklich ausgedrückt :)

    nochmal ganz anders :
    Ich habe mehrere Batchdateien die sich mit einem ftp verbinden und halt unterschiedliche jobs erledigen
    Code:
    do1.ftp :
    open ftp.test.ch
    user
    password
    lcd
    .
    .
    .
    bye
    
    Code:
    do2.ftp :
    open ftp.test.ch
    user
    password
    lcd
    .
    .
    .
    bye
    
    Code:
    do3.ftp :
    open ftp.test.ch
    user
    password
    lcd
    .
    .
    .
    bye
    
    usw...
    wenn ich mich jetzt mit einem anderen Server verbinde ,muss ich in jede *.ftp separat Server,User und Passw. eingeben dami überhaupt eine verbindung mit dem neuen Server zustande kommt.
    Das würde ich halt anders machen wollen ,
    und zwar nur einmal Server,User und Passw. in zB. eine config.txt eingeben
    von der config.txt sollen dann die drei zeilen
    Code:
    open ftp.test.ch
    user
    password
    
    jeweils an den Anfang jeder *.ftp gesetzt werden
    Code:
    *.ftp :
    [color=Red]
    open neuer servername 
    neuer user 
    neues password
    [/color]
    lcd
    .
    .
    .
    bye
    Hoffe es ist jetzt etwas verständlicher :)
     
  4. Ja, nun hab ich es verstanden - leider kann ich dir da aber nicht weiterhelfen, sorry.

    Cheers,
    Joshua
     
  5. Trotzdem thx für deine Antwort
    naja ,lässt sich vielleicht mit einer batch gar nicht realisieren ???
     
  6. hp
    hp
    schreib dir eine batch und lass die variablen interaktiv mit set /p einlesen, dann liest du mit echo die variablen aus und schreibst sie in deine text-datei mit der du den ftp steuern willst und fertig ... so könnte es aussehn: name ftp_batch.cmd

    @echo off

    if %1== goto eingabe_server
    set server=%1
    goto ausgabe_server

    :eingabe_server
    set /p server=Bitte Server eingeben:
    goto ausgabe_server

    :ausgabe_server
    echo Ausgabe zur Kontrolle:
    echo server=%server%

    pause

    echo %server% > ftp.txt

    .
    .
    .

    ftp -s:ftp.txt

    echo FTP Übertragung fertig ...
    pause

    das selbe dann für jeden anderen befehl auch

    und als letztes dann den ftp starten mit der fertigerstellten ftp.txt ... den set /p gibts aber erst ab w2k aufwärts ...

    greetz

    hugo
     
  7. Hallo hp,
    vielen Dank für deine Antwort ,
    habe deinen Vorschlag so umgesetzt :
    Code:
    @echo off
    echo open >> q.txt
    if %1== goto eingabe_server
    set server=%1
    goto ausgabe_server
    
    :eingabe_server
    set /p server=Bitte Server eingeben:
    goto ausgabe_server
    
    :ausgabe_server
    echo Ausgabe zur Kontrolle:
    echo server=%server%
    
    echo %server% >> ftp.txt
    
    
    if %1== goto eingabe_benutzer
    set benutzer=%1
    goto ausgabe_benutzer
    
    :eingabe_benutzer
    set /p benutzer=Bitte Benutzer eingeben:
    goto ausgabe_benutzer
    
    :ausgabe_benutzer
    echo Ausgabe zur Kontrolle:
    echo benutzer=%benutzer%
    
    echo %benutzer% >> ftp.txt
    
    
    
    if %1== goto eingabe_passw
    set passw=%1
    goto passw_server
    
    :eingabe_passw
    set /p passw=Bitte Passwort eingeben:
    goto ausgabe_passw
    
    :ausgabe_passw
    echo Ausgabe zur Kontrolle:
    echo passw=%passw%
    
    echo %passw% >> ftp.txt
    
    pause
    
    die ftp.txt hat nun folgenden inhalt :
    .
    .
    .
    job
    .
    .
    .
    open
    testserver
    testuser
    testpw

    die Eingabe wird am ende der ftp.txt geschrieben und nicht am anfang .
    Wenn die ftp.txt neu erzeugt wird steht alles natürlich am anfang ,
    was ich jetzt nicht verstehe ,wie ersetze ich nun die verbindungsdaten in meinen do1.ftp durch die neu erzeugten 4 Zeilen :-[

    Ich glaube ich habe deinen Vorschlag nicht ganz bis zum Ende verstanden .

    ps: in einem anderem forum habe ich diese lösung gefunden ,funktioniert aber bei mir nicht :

    Code:
    for /f tokens=* %%k IN DATEI.TXT DO (SET ParsedLine=%%k) & (call :Sub1)
    GOTO :EOF
    
    :Sub1
    if %ParsedLine% EQU wasauchimmer SET ParsedLine=andererText
    ECHO %ParsedLine% >> BEISPIEL.TXT

    habe win xp

    mfg fredf
     
Die Seite wird geladen...

batch problem - Ähnliche Themen

Forum Datum
Probleme beim Ausführen einer Batch-Datei Windows XP Forum 5. Mai 2013
batch: problem mit der änderung des dateisuffix Windows XP Forum 3. Dez. 2009
Problem beim Ausführen einer Batchdatei Webentwicklung, Hosting & Programmierung 22. Okt. 2009
Batch-Problem mit IF-Abfrage Webentwicklung, Hosting & Programmierung 31. Juli 2009
problem mit ausführen einer batch in einem anderen verzeichnis Windows XP Forum 15. Dez. 2008