| 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: programme prgogramm.exe --param1 --param2 --param3 --param4 u.s.w. .....
diesen aufruf möchte ich in der .bat-datei aber so schreiben
c: programme prgogramm.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: programme prgogramm.exe --param1 --param2 --param3 --param4
diesen aufruf möchte ich in der .bat-datei aber so schreiben
c: programme prgogramm.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 
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:
ROGRAMM
IF "%1"=="" GOTO END
c: programme programm.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++;
|