Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich an der Web-Site anzumelden:
 
Forum » OS » Windows
Thema ohne neue Antworten

Zeilenumbruch in einem batch-script


Autor Nachricht
Verfasst am: 20.03.2004 [17:15]
Msdd
Themenersteller
Dabei seit: 19.11.2003
Beiträge: 7
sorry, das passt hier nicht hin aber ich habe da ein kleines problem.
habe ein batch-script (.bat-datei) mit einem programmaufruf.
dieser aufruf ist sehr lang.
z.b. so:
c:programmeprgogramm.exe --param1 --param2 --param3 --param4 u.s.w. .....

diesen aufruf möchte ich in der .bat-datei aber so schreiben
c:programmeprgogramm.exe ENTER
--param1 ENTER
--param2 ENTER
--param3 ENTER
--param4ENTER
--... ENTER
--... ENTER
...
(der grund ist, nicht alles in einer zeile zu haben)

wie kann ich soein zeilenumbruch bewirken?

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 20.03.2004 um 20:03.]
Verfasst am: 20.03.2004 [19:23]
BuddahKekz
Dabei seit: 28.09.2002
Beiträge: 654
<!--QuoteBegin-Msdd+20. März 2004 - 17:15--><div class='quotetop'>ZITAT(Msdd 4 20. März 2004 - 17:15)</div><div class='quotemain'><!--QuoteEBegin-->c:programmeprgogramm.exe --param1 --param2 --param3 --param4

diesen aufruf möchte ich in der .bat-datei aber so schreiben
c:programmeprgogramm.exe
--param1
--param2
--param3
--param4

wie kann ich soein zeilenumbruch bewirken?<!--QuoteEnd--></div><!--QuoteEEnd-->
ha, und ich dachte schon der ganze Batch-Müll inner Schule wär komplett umsonst, aber trotzdem würd ich dich bitten demnächst das problem genauer zu beschreiben...weil rumraten is Schrott icon_wink.gif
Um dir wirklich richtig zu helfen müsst ich wissen was genau das Programm mit den Parametern machen soll? Soll das Programm jedes mal neu gestartet werden mit einem gegebenem Parameter? bzw. soll das Script das Programm nur aufrufen und dann weiter laufen oder auf das ende vom Programm warten?
Das würd ich dann so machen:

icon_razz.gifROGRAMM
IF "%1"=="" GOTO END
c:programmeprogramm.exe %1
SHIFT
GOTO PROGRAMM
:END
echo ende

Der Vorteil von diesem Script ist das quasi unendlich viele Parameter möglich sind, weil das Shift jeweils den ersten Parameter verwirft und die anderen um eins 'nach Links rückt'.
Verfasst am: 20.03.2004 [20:01]
Msdd
Themenersteller
Dabei seit: 19.11.2003
Beiträge: 7
das brauchst du doch garnicht zu wissen, was das programm mit den params machen soll.
oh man, ist das so schwer?
es geht doch darum dass batch zeilenweise intepretiert!
wenn ich mit ENTER ein zeilenumbruch erzwinge, entsteht mühl!
du verstehen?
Verfasst am: 20.03.2004 [22:57]
joe
Dabei seit: 07.04.2002
Beiträge: 1225
Unter Unix ist es möglich, den Zeilenumbruch zu escapen, indem man am Zeilenende einen hinsetzt. Also so:

/usr/bin/programm -param1
-param2
-param3
...

Du kannst mal probieren, ob das unter Windhöschen auch klappt (rein gefühlsmäßig wahrscheinlich nicht, aber einen Versuch ist es ja wert).

cu
Joe

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 21.03.2004 um 22:27.]

while(!asleep()) sheep++;
Verfasst am: 21.03.2004 [03:27]
BuddahKekz
Dabei seit: 28.09.2002
Beiträge: 654
<!--QuoteBegin-Msdd+20. März 2004 - 20:01--><div class='quotetop'>ZITAT(Msdd 4 20. März 2004 - 20:01)</div><div class='quotemain'><!--QuoteEBegin-->das brauchst du doch garnicht zu wissen, was das programm mit den params machen soll.
oh man, ist das so schwer?
es geht doch darum dass batch zeilenweise intepretiert!
wenn ich mit ENTER ein zeilenumbruch erzwinge, entsteht mühl!
du verstehen?<!--QuoteEnd--></div><!--QuoteEEnd-->
1. Wenn du zu dämlich bist um deine Probleme zu beschreiben, piss mich nich an
2. Wenn du zu dämlich bist um deine Probleme selber zu lösen, piss mich nich an
3. Wenn du zu dämlich bist um 'Müll' zu schreiben, piss mich nich an
4. Volltrottel
Verfasst am: 22.03.2004 [08:34]
nimble
Dabei seit: 22.02.2003
Beiträge: 279
Hi

Ich sehe nicht warum die Parameter in neuen Zeilen übergeben werden sollen die tut ja sowieso niemand mehr anschauen und für den Interpreter ist es auch besser wenn alles in der gleichen linie steht...
sonst probiers mal, wenn du vor jedem parameter das programm nochmal angiebst - windof sollte dann selbst merken. dass das Prog schon läuft

THX
Verfasst am: 24.03.2004 [19:28]
joe
Dabei seit: 07.04.2002
Beiträge: 1225
Ich seh das schon, warum man ein Kommando mit zig Parametern gern auf mehrere Zeilen verteilen will: Es ist einfach übersichtlicher und wartungfreundlicher (v.a., wenn man die parameter in den Folgezeilen noch mit 1-2 Tabs einrückt). Du schreibst ja in Deinen PHP-Scripts ellenlange Kommandos sicher auch nicht in eine Zeile, oder?

Und dem Interpreter macht das nichts aus. Für ihn ist das ganze Konstrukt genau eine Zeile (zumindest unter Unix), weil das Newline am Zeilenende per escaped ist.

cu
Joe

while(!asleep()) sheep++;