Jump to content
Sign in to follow this  
igelchen

cmd - abfragen und antworten

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

@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

Share this post


Link to post
Share on other sites
@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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...