这是我的批处理脚本的一小部分,即使我在路径中使用"也不会在路径中出现空格。
call :part %1
:part
set _fname=%~nx1
if "%_fname:~0,7%"=="CREATE_" (
copy "%~1" "%appdata%somefolder"
goto :eof
)
如果我像这样开始,一切都很好。
mybatch.bat "Z:hello_worldCREATE_abc.def"
当像这样开始时:
mybatch.bat "Z:hello worldCREATE_abc.def"
我得到这样的错误:"worldCREATE_abc.def"==""无法处理。
任何想法?
问题是解析%1在CALLed:部分
试
CALL :part "%~1"
%~1
展开第一个参数,不带引号。添加的引号确保被调用的标签只接收一个参数。