Batch-File automatische Eingabe



  • Moinsen!

    Ich wusste nicht, wo es sonst rein sollte. Ich hoffe hier ist es okay.
    Wenn man in einer Batch-Datei einen Befehl aufruft, auf den eine Eingabe des Users folgen müsste, die Eingabe aber automatisch von statten gehen soll. Kann man das einfach mit einem delay machen?

    Also ein konkretes Beispiel sähe so aus:

    @echo off
    net user owner *
    

    Ich hab jetzt mal die Passwortänderung genommen, weil da zwei Eingaben hintereinander verlangt werden.
    Müsste das dann theoretisch so aussehen, dass ich das delay vor der Eingabe mache, damit er quasi Zeit hat mir die Eingabe anzubieten?

    @echo off
    net user owner *
    TYPE NUL | CHOICE.COM /N /CY /TY,1 >NUL
    abcd
    TYPE NUL | CHOICE.COM /N /CY /TY,1 >NUL
    abcd
    

    Vielen Dank schonmal



  • Generell kann man innerhalb einer Batch zwar mehrere Befehle abarbeiten lassen. Aber dabei wird immer auf die Beendigung eines Befehls gewartet, bevor der nächste dran kommt. Für dein Beispiel heißt das, dass es nicht funktioniert. "net user username *" erwartet eine Nutzereingabe und legt damit die Batch lahm. Die folgenden Zeilen werden also erst bearbeitet, nachdem der net-Befehl beendet wurde.
    Es gibt aber die Möglichkeit, mit dem Operator "<" die Eingaben in eine Datei umzuleiten. Dazu muß die Eingabe in der angegebenen Datei gespeichert sein. Das sollte eigentlich auch mit mehreren Eingaben funktionieren, die Zeilenweise in der Eingabedatei gespeichert sind.



  • Morris Szyslak schrieb:

    "net user username *" erwartet eine Nutzereingabe und legt damit die Batch lahm. Die folgenden Zeilen werden also erst bearbeitet, nachdem der net-Befehl beendet wurde.

    Achso ja genau das wollte ich wissen. Für den Fall hatte ich den delay-Teil drin.
    Also müsste das ganze dann etwa so aussehen?

    @echo off
    net user owner * < auto_eingabe.txt
    

    Aber wie ist das, wenn er mich auffordert das Passwort zu wiederholen. Sprich: Wie lasse ich die zweite Eingabeaufforderung automatisch ablaufen.
    So kann es ja nicht gehen - oder?

    @echo off
    net user owner * < auto_eingabe_1.txt
    < auto_eingabe_2.txt
    

    lg wubbel


Anmelden zum Antworten