Aufruf einer .exe ohne die vorhandene .bat-Datei

Mahatmas

Mitglied
Hallo zusammen,

hab ein Problem. Hab auch noch nichts hilfreiches hierfür gefunden. Und zwar habe ich eine .bat-Datei, die eine .exe aufruft und ihr Argumente übergibt. Nun will ich aber auf eine andere Weise, die .exe aufrufen und ihr die Argumente übergeben. Also ohne Batch-Datei. Ist das möglich? Und wie kann man das realisieren?

Meine .bat:

Code:
cd Disk00
..\MakeInstPack.exe ..\Ziel\Install.P00 ident.txt leitinst.exe lsrpfad.dat version.txt install.p00
cd ..

pause

So funktioniert es, aber halt mit den Batch-Files...
Code:
void VersionE::Bataufruf()
{
	// toDo:	Aufruf der Batch-Dateien
	
	CString path,nummer;
	CString makeD="\\MakeD";
	CString bat=".bat";
		
	for (int i=1; i<=anz_disk; i++)
	{
		nummer.Format("%d",i);
		path=szPath+makeD+nummer+bat;
		//AfxMessageBox(path);			// path = E:\C++\Installer\MakeD1.bat
		ShellExecute(NULL, "open", path, NULL, szPath, SW_SHOW);	
	}
}
Wär super, wenn ihr mir weiterhelfen könntet. Sag schon einmal "Danke" für eure Mühen.

Gruß,
Mahatmas
 
Hab das jetzt folgendermaßen probiert. Also den Text der Batch-Datei in die ShellExecute an 3. bzw. 4.Stelle geschrieben.

Code:
ShellExecute(NULL, "open", "E:\\C++\\Installer\\MakeInstPack.exe","E:\\C++\\Installer\\ziel\\Install.P00 Ident.txt leitinst.exe LSRPFAD.DAT VERSION.TXT INSTALL.P00", "E:\\C++\\Installer", SW_SHOW);
Müsste eigentlich passen, aber...

Jetzt produziert er mir zwar die richtige Datei im richtigen Ordner, aber die Dateigröße passt nicht, ist jetzt 1KB (also leer)...
(Mit Batch-Datei hat die Datei INSTALL.P00 1,13MB)

Wo mach ich meinen Fehler? Muss ja irgendwie mit der Übergabe der Parameter zu tun haben... :confused:
 
Also ich habs jetzt selbst rausgefunden...

Ich Trottel muss ja bei jeder Datei den Pfad mit angeben...
Hab ich vergessen...


Code:
ShellExecute(NULL, "open", "E:\\C++\\Installer\\MakeInstPack.exe","E:\\C++\\Installer\\ziel\\Install.P00 E:\\C++\\Installer\\Disk00\\ident.txt E:\\C++\\Installer\\Disk00\\leitinst.exe E:\\C++\\Installer\\Disk00\\lsrpfad.dat E:\\C++\\Installer\\Disk00\\version.txt E:\\C++\\Installer\\Disk00\\install.p00", "E:\\C++\\Installer", SW_SHOW);

So jetzt das ganze noch in Schleifen packen und ich kann für heut Feierabend machen (=
 
Zurück