Używam pliku wsadowego do tworzenia kopii zapasowych. Przekazuję opcje do funkcji wywołującej plik wykonywalny pakietu. Działa to, o ile parametry nie zawierają białych znaków. To jest odpowiedni kod:plik wsadowy: przekazać parametr z białymi znakami do funkcji
SET TARGET="%SAVEDIR%\XP.User.Documents.rar"
SET FILES="%DIRUSER%\Eigene Dateien\*"
SET EXLUCDE="%DIRUSER%\Documents\CDs"
call:funcBackup %TARGET% %FILES% %EXLUCDE%
:funcBackup
SET TARGET=%~1
SET FILES=%~2
SET EXCLUDE=%~3
echo."%PACKER% a -r -x"%EXCLUDE%" "%TARGET%" "%FILES%""
::call %PACKER% a -r -x"%EXCLUDE%" "%TARGET%" "%FILES%"
goto:eof
Na XP (wersja niemiecka)% DIRUSER% rozszerza się do "dokumente und Preferencje"
W tym przypadku cel jest poprawne, ale pliki == "dokumente" i uwzględniają = = "und", co oznacza, że skrypt nie działa z powodu białych znaków w% DIRUSER%.
Jak mogę to naprawić?