Batch-Programmierung - String manipulation

  • #1
B

Björn_2

Bekanntes Mitglied
Themenersteller
Dabei seit
09.07.2004
Beiträge
305
Reaktionspunkte
0
Hallo zusammen,

ich habe eine Win98 Bootdisk und erzeuge mittels
Code:
A:\mdiskchk | FIND run= > A:\TEMP.BAT
eine Bat-Datei in der folgendes steht:

Cmdline = BOOT_IMAGE=/BOOT/modules/memdisk initrd=/utils/img/floppy.img run=Leistung ip=192.168.0.1 host=hostname termvar=1234

Danach führe ich die Batei aus und rufe somit eine Datei Cmdline.bat mit folgendem Inhalt auf:

Cmdline.bat
Code:
set run=%6
set ip=%8
set host=%10
set termvar=%12

Leider scheint DOS aber alles ab %9 nicht mehr zu kennen und setzt somit die Variablen host und termvar wie folgt
host=BOOT_IMAGE0
termvar=BOOT_IMAGE2

Mein Ziel ist also das rot markierte zu entfernen, in der Datei temp.bat zu speichern und dann auszuführen.
Cmdline = BOOT_IMAGE=/BOOT/modules/memdisk initrd=/utils/img/floppy.img run=Leistung ip=192.168.0.1 host=hostname termvar=1234
Auf diese Weise rücken alle Parameter nach vorne und ich kann auch auf host und termvar zugreifen.

Wisst ihr einen Rat?

Gruß
Björn
 
  • #2
IMHO unterstützt Dos nur einstellige Parameter...
Wieso lässt Du %7 und %9 aus???
 
  • #3
Blöde Frage, aber was ist IMHO?

%1 entspricht BOOT_IMAGE
%2 entspricht /BOOT/modules/memdisk
%3 entspricht initrd
%4 entspricht /utils/img/floppy.img
%5 entspricht run
%6 entspricht Leistung
%7 entspricht ip
%8 entspricht 192.168.0.1
%9 entspricht host
%10 entspricht hostname
%11 entspricht termvar
%12 entspricht 1234
 
  • #4
Björn_2 schrieb:
Blöde Frage, aber was ist IMHO?

in my humble opinion = meiner bescheidenen Meinung nach
Jo, grad nochma nachgeschaut: 0-9 geht, also NUR einstellige Variablen verwenden.

Gruß
Sven
 
  • #6
Gibt es denn eine Möglichkeit den rot markierten Teil aus der Temp.bat auszuschneiden?
Dann käme ich ja mit einstelligen Parametern aus.
 
  • #7
versuch mal den shift befehl
der verschiebt die variablen von %2 nach %1 ; %3 nach %4 usw

wenn ich mich recht entsinne kannst dann auch mehr als 9 variablen übergeben , leider gehen dir dann aber die ersten variablen verloren .
 
  • #8
Danke!

Einfach den Shift-Befehl 4mal vorher angewendet und schon passt es. :)
 
Thema:

Batch-Programmierung - String manipulation

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben