Batch-Datei mehrzeiligen Befehl mit doppelten Anführungszeichen

Wenn mit dem ^ - symbol geben Sie eine mehrzeilige Befehle mit Argumenten bei der Verwendung von Anführungszeichen zu verwenden, Zeichenfolgen mit Leerzeichen, das ^ - symbol ist auch bestanden, kann das jemand erklären so ist?

arbeiten.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 sieht aus 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

die Fehler, die ich bekomme so Aussehen wie

C:\>call openfiles.cmd "C:\dir with spaces\file with spaces.txt" ^
ELSE was unexpected at this time.
  • Denkt für den Versuch im obigen Beispiel habe ich extra Leerzeichen vor dem Anführungszeichen das original nicht, es scheint mein problem zu beheben
  • Es nicht, da die quotes escaped und daher sind die Räume aufgeteilt werden kann die Dateinamen in kleinere Teile
  • "Doppel" ist mein neues Lieblings-Wort.
InformationsquelleAutor Mazaka | 2015-11-16
Schreibe einen Kommentar