1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Batch Abfrage in cmd auswählen

Discussion in 'Programmieren' started by Frodo2, Sep 3, 2013.

Thread Status:
Not open for further replies.
  1. Frodo2

    Frodo2 Byte

    hi
    ich habe eine batch datei mit einer abfrage. ich möchte jetzt meine abfrage beim aufrufen im cmd direkt auswählen.

    @ECHO OFF

    ECHO Datensicherung?? (j / n)
    SET /p wahl=
    IF '%wahl%' == 'j' GOTO WahlJ
    IF '%wahl%' == 'n' GOTO WahlN
    GOTO ende

    :WahlJ
    ECHO Sie haben sich fuer die Datensicherung entschieden.
    robocopy /E /S (quellpfad) (zielpfad)
    ECHO Eine Datensicherung wurde durchgefuehrt.
    pause
    GOTO ende

    :WahlL
    ECHO Sie wollen keine Datensicherung.
    blabla

    :ende
    PAUSE

    so siehts bis jetzt aus. ich möchte jetzt das man im cmd eingeben kann: d:\Datensicherung j (zielpfad)
    wie genau geht das? wenn mir jemand ein tip geben könnte wäre ich sehr dankbar.
    ps. bitte keine fragen nach dem "warum so?", ist nicht meine anweisung...
    grüße
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Du müsstest die beiden Pfade einfach abfragen...

    Code:
    
    :WahlJ
    echo Quelle...?
    SET /p quelle=
    echo  Ziel...?
    SET /p ziel=
    robocopy /E /S %quelle% %ziel%
    
    ...usw...
    
    
     
  3. Frodo2

    Frodo2 Byte

    habe quell und zielpfad jetzt als variable gesetzt. trotzdem kann ich im cmd nicht Datensicherung j zielpfad eingeben.
    danke für deine antwort
     
  4. Hnas2

    Hnas2 Ganzes Gigabyte

    Das macht ja auch wenig Sinn. Die Abfragen musst du schon trennen, also:
    - Abfrage ob du Datensicherung ausführen willst
    - wenn ja -> Eingabe Quellpfad
    - wenn ja -> Eingabe Zielpfad
     
  5. Frodo2

    Frodo2 Byte

    der quellpfad ist schon festgelegt(der zu kopierende ordner). man soll nur wählen können, wo dieser gespeichert werden soll.

    das soll in cmd möglich sein, etwa so: d:\Datensicherung j Zielpfad ...
    wenn man das in cmd eingibt, soll der quellordner zum angegebenen zielpfad kopiert werden.
    ich hoffe du verstehst mich^^
    danke schonmal für deine hilfe
     
    Last edited: Sep 3, 2013
  6. kalweit

    kalweit Hüter der Glaskugel

    Du willst also an die Batchdatei Parameter übergeben... Das geht so:

    machwas.cmd wert1 wert2 wert3


    Code:
    echo %1
    echo %2
    echo %3
    
     
  7. Frodo2

    Frodo2 Byte

    genau! Parameterübergabe war das richtige stichwort.

    wie genau binde ich das in meine batchdatei ein?
    probiere mich grad daran^^
     
  8. Frodo2

    Frodo2 Byte

    habe jetzt zumindest erreicht, das man in cmd eingeben kann, ob die datensicherung durchgeführt wird oder nicht.
    bei dem eingeben des zielpfades habe ich allerdings noch meine probleme.
     
  9. Frodo2

    Frodo2 Byte

    set wahl1 = %1
    set quelle = %2
    set ziel = %3
    meinname.bat wahl1 quelle ziel
    ECHO %1
    ECHO %2
    ECHO %3

    müsste es damit nicht funktionieren?
     
  10. Frodo2

    Frodo2 Byte

    robocopy kopiert mir alle inhalte des ordners, welche option muss ich wählen damit der gesamte quellordner kopiert wird?
     
  11. hallo,

    Nein das funktioniert nicht ich würde es so schreiben:

    Code:
    @echo off
    :a
    cls
    echo möchten sie die Datensicherung ...
    echo bitte y oder n eingeben 
    set /p Auswahl= Auswahl:
    if %Auswahl%==y goto yes
    if %Auswahl%==n goto no
    goto a
    
    :yes
    cls
    echo sie haben die datensicherung gestartet.
    echo geben sie bitte des zielpfad ein.
    set /p Ziel= Ihr Ziel Pfad:
    copy C:\Windows\system32\cmd.exe %Ziel%
    echo um noch eine sicherung zu tätigen 
    pause
    goto a
    
    :no
    cls
    echo sie haben nicht die Datensicherung ausgewählt 
    echo Um nocheinmal zu Wählen 
    pause
    goto a
    
    
    bei mir hat das bestens funktioniert. :):)

    Ich hoffe es klappt auch bei dir

    Gruß

    Lachsack
     
Thread Status:
Not open for further replies.

Share This Page