igelchen 10 Geschrieben 16. März 2008 Melden Teilen Geschrieben 16. März 2008 Hallo Leute ich habe 2 Fragen, eine wo ich Frage inner cmd-Datei Stellen möchte und eine wo ich die Antwort schon weiss, aber keine zweite Datei für haben möchte. 1.) Ich arbeite seit Dos 5.0 mit *.bat und ab NT4 mit *.cmd-Dateien und habe schon eine große Sammlung. Da ich kein Programmierer bin, kann ich keine andere Scriptsprache und ich bleibe bei dem was ich kann. Abfragen waren bisher nur die um "Pause" zu beenden oder um mit "[strg][c]das Script zu beenden oder um auf Errorlevels zu reagieren. Jetzt suche ich ne Möglichkeit nach Eingabe zu einem Punkt im Script zu springen. Zb. zu Beginn einen Scriptabschnittes möchte ich fragen ich ob ich den ausführen soll oder zum nächsten springen, ohne Nutzung von externen Dateien. 2.) In *.cmd erwarten manche Prgramme eine Benutzereingabe wie "y", "n" usw. z.b. wenn ich im chkdsk fürs Laufwerk C: ausführen will und geht ja nicht und dann kommt die Frage ob man das nach dem Neustart machen möchte. Bisher hatte ich dann eine Textdatei geschrieben wo nur der geforderte Buchstabe drin stand und es über "<" reingebracht. gibt es auch eine Lösung innerhalb der cmd-Datei ohne zweite Datei? Liebe Grüße vom Stacheltierchen Zitieren Link zu diesem Kommentar
LukasB 10 Geschrieben 16. März 2008 Melden Teilen Geschrieben 16. März 2008 Ist der Befehlt "choice" das was du suchst? Zitieren Link zu diesem Kommentar
ZeroKnowledge 11 Geschrieben 16. März 2008 Melden Teilen Geschrieben 16. März 2008 zu 1.: SET /P Variable=[EingabeaufforderungZeichenfolge] echo 1) Weiter echo 2) Beenden echo. set /p Ret=Deine Auswahl: If %Ret% == 1 goto _weiter If %Ret% == 2 goto _ende :_weiter :_ende zu 2.: echo <ANTWORT> | <BEFEHL> echo j | copy file1 file2 Zitieren Link zu diesem Kommentar
igelchen 10 Geschrieben 16. März 2008 Autor Melden Teilen Geschrieben 16. März 2008 @LukasB choice gibts standardmäßig nicht bei windows xp @ZeroKnowledge zu 1.) ja das was ich suche .. wie sieht es mit der Kompatiblität aus ... welche Windows OS unterstützen diesen set /P ? zu 2. die Antwort verstehe ich nicht bisher löste ich es am Beispiel chkdsk so: @ECHO OFF CHKDSK C: /F /R /L:2048 /X <j.txt shutdown -r -t 00 -f und im gleichen Verzeichnis befindet sich die Datei j.txt in der nur nen j und nen Zeilenumbruch ist Zitieren Link zu diesem Kommentar
LukasB 10 Geschrieben 16. März 2008 Melden Teilen Geschrieben 16. März 2008 @LukasB choice gibts standardmäßig nicht bei windows xp Bist du dir da sicher? Ich habe keine XP Maschinen mehr, aber unter WS2003 gibt es choice genauso. Zitieren Link zu diesem Kommentar
PadawanDeluXe 75 Geschrieben 16. März 2008 Melden Teilen Geschrieben 16. März 2008 Schau mal hier vll bekommst du hier ein paar Anregungen für dein Problem: DOS-Software [PofoWiki] Zitieren Link zu diesem Kommentar
ZeroKnowledge 11 Geschrieben 17. März 2008 Melden Teilen Geschrieben 17. März 2008 zu 1.) das sollte mindestens ab 2000 funktionieren (98 hab ich keins zum Testen hier) zu 2.) durch die Pipe | wird die Ausgabe vom ECHO-Befehl an den Aufruf rechts der Pipe weitergegeben. Wenn du chkdsk ein j als Antwort mitteilen willst, einfach echo j | chkdsk... Wenn chkdsk dann auf eine Eingabe wartet, wird die umgeleitete Ausgabe von ECHO als Eingabe verwendet. Damit sparst du dir das gefummel mit einer extra Datei. Zitieren Link zu diesem Kommentar
igelchen 10 Geschrieben 22. März 2008 Autor Melden Teilen Geschrieben 22. März 2008 @ Zeroknowledge Danke dir, funktioniert super Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.