Wenn Sie das^-Symbol verwenden, um einen mehrzeiligen Befehl mit Argumenten einzugeben, wenn Sie doppelte Anführungszeichen benutzen, um Zeichenfolgen mit Leerzeichen zu verwenden, wird auch das^-Symbol weitergegeben.Batch-Datei mehrzeiliger Befehl mit doppelten Anführungszeichen
working.cmd
@echo off
call openfiles.cmd^
C:\dir\filename.txt^
C:\another_dir\another_file.txt
notworking.cmd
@echo off
call openfiles.cmd^
"C:\dir with spaces\file with spaces.txt"^
"C:\another dir with spaces\another file with spaces.txt"
openfiles.cmd wie
@echo off
for %%x in (%*) do (
IF EXIST %%x (
call "c:\Program Files\Notepad++\notepad++.exe" %%x
) ELSE (
call echo Not found %%x
)
)
pause
sieht
die Fehler, die ich wie
zu sehen bekommenC:\>call openfiles.cmd "C:\dir with spaces\file with spaces.txt"^
ELSE was unexpected at this time.
für im Beispiel versucht, denkt, dass bauen oben i vor zusätzlichen Leerzeichen haben von den doppelten Anführungszeichen das Original schien es nicht mein Problem zu beheben – Mazaka
Es schlägt fehl, da die Anführungszeichen geflüchtet sind und daher die Räume die Filena teilen können mes in kleinere Teile – jeb
"Dubble" ist mein neues Lieblingswort. –