Podczas używania symbolu^do wpisania polecenia wielowierszowego z argumentami przy użyciu podwójnych cudzysłowów do użycia ciągów ze spacjami, znak^jest również przekazywany, czy ktoś może wyjaśnić, jak to jest?Polecenie wielowierszowe pliku wsadowego z podwójnymi cudzysłowami
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 wygląda
@echo off
for %%x in (%*) do (
IF EXIST %%x (
call "c:\Program Files\Notepad++\notepad++.exe" %%x
) ELSE (
call echo Not found %%x
)
)
pause
błąd pojawia się wyglądać
C:\>call openfiles.cmd "C:\dir with spaces\file with spaces.txt"^
ELSE was unexpected at this time.
Myśli za próbę w powyższym przykładzie mam dodatkowe spacje z przodu podwójnych cudzysłowów oryginał nie poprawił mojego problemu – Mazaka
Zawodzi, ponieważ cytaty są wymykane i dlatego spacje mogą rozdzielać fileny mes na mniejsze części – jeb
"dubble" to moje nowe ulubione słowo. –