Sie können einfach mit% * alles, was an die .bat-Datei übergeben wurde, an alles andere übergeben.
Wenn Sie der Batchdatei "Wörter mit Leerzeichen" übergeben, wird diese als 1 Parameter in Anführungszeichen angezeigt und als solcher übergeben. Wenn Sie das "" nicht angeben, leitet der Batch ihn weiterhin an das Programm weiter, aber das Programm sieht es als separate Parameter. Es hängt wirklich davon ab, wie die Batch-Datei aufgerufen wird, um zu wissen, ob diese Zitate vorhanden sind oder nicht, und ob dies erforderlich ist. Wenn Sie z. B. eine Datei im Explorer in die Batchdatei ziehen und ablegen, fügt der Explorer die Anführungszeichen für Sie hinzu. Wenn Sie an der Eingabeaufforderung manuell eingeben, kann der Benutzer nach den Anführungszeichen suchen.
So:
program.exe %0
sollte in Ihrem Fall ausreichen.
Wenn Sie in der Befehlszeile Dateinamen mit der Registerkarte automatisch vervollständigen, werden Anführungszeichen automatisch hinzugefügt, wenn sie erforderlich sind. Auch wenn die Anführungszeichen den Anschein erwecken, dass Sie sie bearbeiten müssen, um mit der Eingabe fortfahren zu können, haben Sie wirklich keine zu. Die Eingabeaufforderung ist intelligent genug.
Beispiel: Hier tippe ich prog, drücke zweimal die Tabulatortaste, tippe dann weiter und drücke noch einmal die Tabulatortaste.
C:\>_ C:\>cd prog_ (tab) C:\>cd "Program Files"_ (tab) C:\>cd "Program Files (x86)"_ C:\>cd "Program Files (x86)"\Micro_ (tab) C:\>cd "Program Files (x86)\Microsoft Office"_ (enter) C:\Program Files (x86)\Microsoft Office>_