Ich möchte zwei Parameter lesen, die an eine Batch-Datei übergeben werden. Die Stapeldatei wird von einem C++ - Programm mit der CreateProcess-Methode ausgeführt. Der zweite Parameter der Batch-Datei ist ein Ordnerpfad. Wenn ich also den zweiten Parameter wie "E: \ test folder \ test2" übergebe, wird die Batch-Datei nicht ausgeführt.Analysieren Sie mehrere Argumente in einer Batchdatei.
Wenn ich aber stattdessen E: \ test folder \ test2 überlasse, wird die Batchdatei ausgeführt, aber offensichtlich hat der zweite Parameter nur den Wert E: \ test. Also möchte ich den ersten Parameter mit lesen % 1 und den Rest des Inhalts in eine andere Variable bringen.
Kann mir jemand sagen, wie ich das erreichen kann? Ich habe es mit% * versucht, aber es gibt mir sowohl den ersten als auch den zweiten Parameter. Ich möchte das erste Token mit Leerzeichen als Trennzeichen entfernen, damit ich den Rest des Inhalts in der Variablen habe. Gibt es eine Möglichkeit, dies zu tun?
Zum Beispiel, wenn ich pass test.bat testparameter1 E: \ Testordner \ test folder2 \ test Ordner3
Ich mag würde den Wert E lesen: \ Testordner \ test folder2 \ test Ordner3 in eine Variable.
Wenn ich test.bat testparameter1 E passieren: \ test \ test FolderX \ test folderY die valueIi lesen möchten in einer Variablen innerhalb der Batchdatei ist E: \ test \ test FolderX \ test folderY
Can Jemand hilft mir dabei? Danke im Voraus.
Können Sie Ihre vollständige CreateProcess-Anweisung anzeigen? Ich vermute, dass die Anführungszeichen um Ihr 2. Argument geflüchtet sein müssen. – dbenham