Batch Datei aus Free Turbo Pascal starten

Hallo Community,

ich versuche mir gerade ein kleines Menü für mein USB Stick zu basteln. Je nachdem was ich auswähle soll dann über eine batch Datei gestartet werden und mein eigentliches Programm (Menue) geschlossen.
___

program menue;
uses crt;
var hauptabfrage : char;
sicherheitsfrage : char;

procedure bios_flashen;
begin
clrscr;
writeln (‚BIOS FLASHEN‘);
writeln (‚Sind Sie sicher ? (j/n))‘);
sicherheitsfrage :=readkey;
if (sicherheitsfrage) ='j’then
begin
writeln (‚BIOS flashen wird gestartet‘);
readln;
end;
end;

procedure partitionieren;
begin
clrscr;
writeln (‚PARTITIONIEREN‘);
writeln (‚Sind Sie sicher ? (j/n))‘);
sicherheitsfrage :=readkey;
if (sicherheitsfrage) =‚j‘ then
begin
writeln (‚Parti wird gestartet‘);
readln;
end;
readln;
end;
begin
repeat
clrscr;
writeln (’**** Hauptmenue ****’);
writeln (’’);
writeln (’[1] BIOS flashen’);
writeln (’[2] HDD Partitionieren’);
writeln (’[E] Exit’);
hauptabfrage := readkey;
case hauptabfrage of
‚1‘ : bios_flashen;
‚2‘ : partitionieren;
end;
until hauptabfrage =‚e‘;

end.

____

Wie kann ich jetzt eine batch Datei aus Free Turbo Pascal starten lassen?

MFG Fisy02

Ich hab es hinbekommen…

Nun mein nächstes Problem:
Ich will in meinen Proceduren immer bestimmte „BATCH/.bat“ Scripte öffnen. Unter Windows XP funktioniert der Aufruf. Schiebe ich dann alles auf mein Boot fähigen Stick mit DOS. Geht mein Programm, aber wenn ich dann eine Auswahl tätige öffnet er mir nicht die .bat Datei. In der BATCH Datei stehen Parameter, die dann eine andere EXE aufrufen. Ist der Aufruf unter DOS anders oder muss ich erst irgendwie meine MENUE.exe beenden um die nächste EXE zu starten? Wenn ja wie mache ich das?

procedure partitionieren;
begin
clrscr;
writeln (‚PARTITIONIEREN‘);
writeln (‚Sind Sie sicher ? (j/n))‘);
sicherheitsfrage :=readkey;
if (sicherheitsfrage) =‚j‘ then
begin
swapVectors;
exec (‚c:\pascal.bat‘,’/f/t now’);
swapVectors;
end;
readln;
end;

MFG Fisy02

Hallo.

exec (‚c:\pascal.bat‘,’/f/t now’);

Wenn ich mich recht erinnere, kann man per exec nicht direkt eine Batch starten. Du kannst die command.com aufrufen und die Batch dort als Parameter angeben. Also in etwa so:

exec('command.com','/c c:\pascal.bat /f/t now');

Sebastian.