批处理文件:如果命令不起作用

时间:2017-11-21 02:44:37

标签: batch-file

我有一个名为tst.bat的批处理文件:

    @echo off

:_main
   set str=%1

   call :_checkInput
   call :_strLen %str%

   echo %_strLen% 

exit /b

:_checkInput

if "%str:~0,1%" == """ set str=%str:~1%       
if "%str:~-1%" == """ set str=%str:~0,-1%   

goto :eof

:_strLen
   setlocal enabledelayedexpansion
   set str=%1

   :_loop
      if /i "!str:~%len%,1!" neq "" set /a len+= 1 & goto :_loop
   (endlocal & set _strLen=%len%)
goto :eof

但由于某种原因,我收到错误消息:"此时设置是意外的。"当我在命令提示符下键入tst "Hello"时。来自" IF"的错误_checkInput部分中的命令。

我将非常感谢你的帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

正如您所怀疑,问题与

有关

您可以使用%1%~1剥离封闭空格。

您可以使用"

删除所有set "var=%var:"=%"