Batch File: Zu schnelle Verarbeitung der Befehle?

PcHunter

Ensign
Registriert
März 2009
Beiträge
213
Hallo Community,
ich bin gerade dabei eine Batch File zu schreiben nur mein Problem ist, dass diese einfach ein paar Befehle übergeht bzw. abbricht!

Der Sinn und Zweck ist ein Java Programm zu kompilieren... nun dauert das aber etwas doch das versteht die Eingabeaufforderung nicht!
Ich habe schon nach möglichkeiten gesucht das "Script" zu pausiern und einfach den Befehl:
pause
benutzt, doch das akzeptiert er irgendwie nicht ;(

Ich habe nur ein paar Grundkentnisse und fange gerade erst mit Java an...
Mein Ziel ist es nachher ein kleines Program zu schreiben mit einer kleinen Zeile wo man den Dateinamen eingeben muss und dadrunter sollen 2 Knöpfe sein einen füer
compile & upload
und einen fuer
compile; upload and run

Ich könnte mir vorstellen wie so ein Programm in JavaScript aussieht und wie ich das schreiben muesste wär auch kein Problem nur....JavaScript kann ja nicht auf dir normale Eingabeaufforderung zugreifen was aber unumgänglich scheint! Deshalb was ist eure Empfehlung? Welche Sprache sollte ich benutzen oder ist das alles viel zu kompliziert für einen Anfänger und ich sollte bei meiner Batch File bleiben, wo ich dann zwar jedes mal den Datei-Namen ändern muss?
Primär reicht mir erstmal eine Batch-File die funktioniert, Sekundär wär natürlich schon so ein kleines Programm "Luxus"

Ich bedanke mich im vorraus
mfG
 
nutz ne ide wenns dir nur ums kompilieren geht? oder worin codest denn? im editor? dann erst recht eclipse oder netbeans (für java) mal antesten;)
 
Nein, Batchfiles übergehen keine Befehle...
Wenn du über ein Batch einen Prozess startest "wartet" die Batch bis der Prozess beendet wird, dann macht sie weiter - ganz sicher.
Wenn du es schaffst aus einer SingleTask-Batch ein Multitasking zu entwickeln solltest du bei Microsoft anfangen... ;)

Natürlich gibt es Möglichkeiten mehrere Tasks zu starten, jedoch denke ich nicht, dass du benutzt. (start wäre da ein Befehl)
 
Zuletzt bearbeitet:
hmm naja mir geht eher indirekt ums compilern:
Zum "coden" benutze ich Notepad ++ da mir gesagt wurde eclipse würde einen nur erschlagen durch seinen Umfang an verschiedenen Möglichkeiten!

Ein Programm zum compilen hab ich auch nur ich versteh nicht warum dann meine Batch nicht funktioniert denn immerhin hab ich die Befehle nochmal einezeln nacheinander rauskopiert und dann gings...

Hat das was vielleicht damit zu tun, dass ich nicht nur "Microsoft interne" Daten benutze sondern die Console mit Befehlen arbeitet die sie standardmäßig gar nicht kennt?

Tut mir Leid wenn ich so verschleiert schreibe, aber wir nehmen an einem Wettbewerb teil....
 
In der Batch-Datei muss natürlich der richtige Pfad stehen.. Dann ist egal ob "Microsoft intern".. Die java.exe ist auch nur eine exe.. (javac.exe übrigens auch..)

mit call kannst du prozesse aufrufen ohne auf ein ende zu warten..
 
das heißt obowhl so in der Eingabeauffoerderung der Befehl
javac Test.java funktioniert, wird er nicht so ohne weiteres in der Batch funktionieren wenn ich nicht den Pfad angebe wo die .exe liegt oder wo die (die zu compilierende) Datei liegt?
 
wieso sollte er nicht ?
ich seh keinen grund, wieso es nicht funktionieren sollte..

oder compiliert er es wirklich nicht ?
 
Nein, dass ist es ja woran ich verzweifle, also bis jetzt sieht das ziemlich primitiv so aus:
@echo off
D:
cd/Austausch
nxjc *.java
nxj -r *

Die * mit dem richtigen Namen der Datei ersetzt funktioniert alles wenn ich die Befehle nacheinander in die Console kopier nur wenn ichs als Batch File mache (ich hab zum Test @echo off weggelassen und nen Screenshot gemacht) dann seh ich, dass der bei nxjc *.java stehen bleibt und gar nicht erst bis nxj kommt...

Macht euch keine Gedanken über nxjc und nxj, ihr habt bestimmt noch nie davon gehört außer ihr baut in eurer Freizeit mit Lego Robotics rum ;)
 
Die * kann er natürlich nicht auflösen..
Was passiert wenn du die korrekten Dateien in das Batch-File einträgst ? Dann muss es ja funktionieren..

Den * musst du vermutlich mit einer for-Schleife umgehen..


Die Lego Robotics kann man mit Java programmieren ? (Hast du mir dazu einen Link ? )
 
Ja ich ersetz ja die * mit dem richtigen Namen und es funktioniert trotzdem nicht!
Wie gesagt eigentlich nehmen wir ja an einem Wettbewerb teil aber ich vermute mal du bist außer Konkurrenz:

Gib mal bei google:
LEJOS ein (steht für Lego Java Operation System)

dann musse die neu flashen und dann solltes funzen!

Aber jetzt hat einer eine Idee woran meine verdammt primitive Batch scheitert ;)?
 
also wenn ich die Befehle einzeln eingebe, dann dauert das compilen 5 Sekunden und der Upload (nxj) 800Millisekunden....

Doch bei der Batch steht dann da.
nxjc blablabla.java

und dann beendet sich die Eingabeaufforderung obowohl ich @echo off weggelassen hab.

Ja der Pfad ist D:\Austausch: Wie gesagt ich hab die Befehle eins zu eins in die Console kopiert und dann gings nur halt als Batch File nicht...

Ich versteh das nicht mehr.
 
Hmm von dem Befehl hab ich noch nie was gehört, aber ich glaube der ist dafür da den Robotor zu auf NXJ zu flashen, was man wiederum brauch damit der Java "versteht" ;)

Nein eigentlich reicht nxjc zum direkten compilen!
Das mit der Pause hab ich ausprobiert und das Ergebnis ist:
D:
cd Austausch
pause
nxjc *.java
pause
nxj *

Er ändert den Pfad auf:
D:\Austausch
dann kommt Pause
und dann nxjc *.java und dann beendet sich wieder die Console!

Kommt die Eingabeaufforderung vielleicht nicht mit dem Import der NXJ Klassen mit?
Aber ist ja auch Schwachsinn, denn immerhin ich hab die Befehle via copy&paste einzeln nacheinander in die Console eingefügt und dann gings!
 

Ähnliche Themen

Zurück
Oben