Um dies zu beheben, können Sie Teilstrings mit Batch- Variablen verwenden, um stattdessen die einzelnen Schrägstrichzeichen \
im Zeichenfolgenwert des ersten Arguments durch zwei umgekehrte Schrägstrichzeichen \\
in diesem Zeichenfolgenwert zu ersetzen . Sie können eine set
andere Variable verwenden, um den neuen Wert zu erhalten und ihn entsprechend zu verwenden.
Batch-Skript
@ECHO OFF SET a=%~1 SET a=%a:\=\\% SET dp=%~dp1 SET dp=%dp:\=\\% mp4box -add %a%#trackID=1:name= -add %2#trackID=1:name= -tmp "%dp%" -new "%~n1_new.mp4" ::::mp4box -add %1#trackID=1:name= -add %2#trackID=1:name= -tmp "%dp%" -new "%~n1_new.mp4"
Hinweis: Es ist wahrscheinlich, dass die
mp4box
App erwartet, dass vollständige Pfade entweder doppelte Backslashes\\
oder einzelne Schrägstriche verwenden,/
da das Backslash-Zeichen ein Escapezeichen ist, das von der internen Anwendung verwendet wird. Daher wird bei Verwendung eines einzelnen Backslashs der Backslash nicht wörtlich angezeigt.
Sie können möglicherweise verwenden, um zu testen, ob auch Schrägstriche und doppelte umgekehrte Schrägstriche verwendet werden.
SET a=%~1 SET a=%a:\=/% SET dp=%~dp1 SET dp=%dp:\=/%