【发布时间】:2011-10-04 20:11:16
【问题描述】:
我正在使用批处理文件进行备份。我将选项传递给调用打包可执行文件的函数。除非参数包含空格,否则此方法有效。这是相关代码:
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
在 XP(德语版)上,%DIRUSER% 扩展为“Dokumente und Einstellungen”
在这种情况下,TARGET 是正确的,但 FILES == "Dokumente" 和 EXCLUDE == "und", 这意味着脚本由于 %DIRUSER% 中的空格而失败。
我该如何解决这个问题?
【问题讨论】:
标签: windows batch-file spaces