批量比较路径名称%1



这是我的批处理脚本的一小部分,即使我在路径中使用"也不会在路径中出现空格。

    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展开第一个参数,不带引号。添加的引号确保被调用的标签只接收一个参数。

最新更新