我有一个名为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部分中的命令。
我将非常感谢你的帮助。谢谢。
答案 0 :(得分:1)
正如您所怀疑,问题与“
有关您可以使用%1
从%~1
剥离封闭空格。
您可以使用"
set "var=%var:"=%"