这是我的批处理脚本的一小部分,即使我在其周围使用“”,但只要路径中有空格就无法运行。
call :part %1
:part
set _fname=%~nx1
if "%_fname:~0,7%"=="CREATE_" (
copy "%~1" "%appdata%\somefolder"
goto :eof
)
如果我用这样的东西开始,一切正常。
mybatch.bat "Z:\hello_world\CREATE_abc.def"
当这样开始时:
mybatch.bat "Z:\hello world\CREATE_abc.def"
我收到如下错误:“world \ CREATE_abc.def”“==”“”无法处理。
有什么想法吗?
答案 0 :(得分:1)
问题是在CALLed:part
中解析%1试
CALL :part "%~1"
%~1
扩展第一个参数而不包含引号。添加的周围引号确保被调用的标签只接收一个参数。