7.7k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von Einsteiger_in (27 Punkte)
Hallo liebes Forum,
Ich bin hier im Forum neu und hoby batch Programmiren.
Habe bis her nur klein kram gemacht so was was einer von euch einfach mal so aus den handgelenk schüttelt.

Nun möchte ich mich den aber mal doch an ein Größeres Projekt wargen.
Jetzt scheiter ich aber schon an den ersten gedanken.

Und zwar ist mein Problem/Gedanke das ich die F Tasten in der Batch benutzen möchte.

Also Drücke F2 um das Progrmm zu starten so etwas und ohne eingabe der Enter Taste hinterher.

Gibt es da eine Möglichkeit oder Alternative ansätze bin für Vorschläge offen.


Danke in Forraus.

18 Antworten

0 Punkte
Beantwortet von computerfreaki Mitglied (219 Punkte)
Hallo hiphoop,

Batch-Skripte sind dafür da, immer wiederkehrende Aufgaben zu automatisieren.

Eigne dir lieber VB.NET an und schreibe ein richtiges Programm. Mit diesen paar zeilen Code könntest du dann auf eine F-Taste reagieren:

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
Me.KeyPreview = True
End Sub

Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As _
System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
If e.KeyCode = Keys.F3 Then
MessageBox.Show("Die F3-Taste wurde gedrückt und wieder losgelassen.")
End If

mfg
jan
End Sub
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Schlau schlau, Computerfreaki. Nur, dass du hier auf eine Anwendung mit GUI verweist, wohingegen hiphoop vielleicht in seiner Konsole ohne GUI bleiben will.

Es gibt nichts, um auf Funktionstasten zu reagieren - dazu musst du schon ein richtiges Programm schreiben, statt nur ein Skript.
0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
Ich stimme zu, um Events abzufangen, brauchts immer irgendeine Art "Schleife", die ständig schaut, was reinkommt. Das bieten die mir bekannten Scripting möglichkeiten alle nicht.

Für den Fall, daß es doch nicht nur Konsole sein darf, würd ich dennoch gern auf meinen Artikel hinweisen:

Windows scripting - alles ist möglich


Das ist für mich der natürliche nächste Schritt von Batch richtung Programmieren.

Wenn Du richtig ins Programmieren einsteigen willst, ist eine richtige Programmiersprache sicher die bessere Wahl.
Ich empfehle dann aber, genau zu überlegen, welche die geeignete ist.
Ich respektiere Basic, aber man sollte wissen, wo man wie schnell hinwill.
0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Alles ist möglich. ;-)
Ich habe selbst vor Urzeiten (knapp 20 Jahre ist das schon her) bestimmte Befehle auf die F-Tasten gelegt um mir die Tipperei zu sparen. Das Zauberwort dafür heißt "ANSI-Escape-Sequenzen".
Hier gibts ein paar Infos dazu.

Gruß Flupo
0 Punkte
Beantwortet von
Hi,
kannst du mit Windows Scripting Host oder mit VBScript. Ist in Widows integriert.
0 Punkte
Beantwortet von Einsteiger_in (27 Punkte)
ich finde es sehr nett wie ihr mir helfen müchtet.
Aber ich würde gerne bei batch bleiben jedenfals forerst.
Die "ANSI-Escape-Sequenzen" sind mir persönlich momentan noch zu komplizirt.

Gibt es unter batch wenigstens eine möglichkeit
das mann eine variable setst und mann danach keine eingebe taste drücken muss
also normalerweise

set /p ver=
den wartet das programm auf die variable "ver" und mann muss noch einmal die Enter Taste grücken um diese zu bestätigen.
Wie kann ich das Drücken der Enter taste vermeiden.
0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
Wie meinst Du das nun genau?
Wenn Du keinerlei Eingabe möchtest, brauchst Du auch nicht mit set Arbeiten. Du rufst den gewünschten Befehl einfach auf.
So ist das von Dir aber sicherlich nicht gemeint, daher klär uns bitte mal auf.
Hilfreich währ es auch uns Deinen bishereigen Quellcode zukommen zu lassen und zu Erklären was der eigentlich machen soll.
Ist sicherlich nur sehr unglücklich Ausgedrückt von Dir, aber wir haben alle mal kein angefangen.
Helf uns zu Verstehen, und wir Helfen Dir zu Verstehen ;-)

Ralf
0 Punkte
Beantwortet von Einsteiger_in (27 Punkte)
Also ein bisheriger quell code exestirt noch nicht weil das einfach ein grundligendes proble ist aber ich versuch mal es dir zu beschreiben was ich möchte.

Um von ein benutzer eingeben in einer batch su verarbeiten muss mann diese ihn eine variable setzen dies geschit mit den befehl set ver=

Beispiel

echo [1] Um zu starten
echo [2] Zum abrechen
set /p start=
if "%start%"=="1" goto start
if "%start%"=="2" goto ende

jetzt muss der benutzer aber 2 Tasten drucken nehmlich
die 1 (zum Starten)
und dei Eingabetaste (damit die batch weiter leuft#

wie kann ich das benutzten der eingabetaste unterdr´ücken so das nur
die 1 gedrucktwerden muss



Danke für die schnelle antwort
0 Punkte
Beantwortet von ralfman Experte (2.1k Punkte)
Mit dem Set Befehl wirst Du da nicht weiterkommen, was Dir Helfen könnte währ das Abfangen eines Errorlevels. Dafür brauchst Du aber noch aus alten Zeiten den Befehl choice (wurde aus neueren Betriebssystemen Entfernt - leider und schade drum). Falls Dir das weiterhelfen würde, sag bescheit, ich kann Dir Choice auch irgendwo Ablegen zum Dorwnload (machen wir dann aber über den Pager, Werbung wird hier nicht gern gesehn).
Mit choice wird dann ein Errorlevel abgefangen der ohne Bestätigung weitergeleitet wird. Allerdings auch nur einzelne Zeichen (Buchstaben/Zahlen).

Ralf
0 Punkte
Beantwortet von Einsteiger_in (27 Punkte)
das wäre schon eine hilfe aber bekommt man das nicht auch irgentwie in xp und vista zum leufen ?
...