Batch file 写函数';s将值返回到批处理中的指定变量
我必须编写一个函数,将指定变量的长度返回给第二个变量。事实上,我不知道怎么做。我有几个想法,比如Batch file 写函数';s将值返回到批处理中的指定变量,batch-file,Batch File,我必须编写一个函数,将指定变量的长度返回给第二个变量。事实上,我不知道怎么做。我有几个想法,比如set%~2=%len%或set len=call:parse_to_tokens%input%,但它们不起作用 :length set string=%~1 set len=0 :loop if defined string ( set string=%string:~1% set /a len+=1 goto loop ) :: The return statement or s
set%~2=%len%
或set len=call:parse_to_tokens%input%
,但它们不起作用
:length
set string=%~1
set len=0
:loop
if defined string (
set string=%string:~1%
set /a len+=1
goto loop
)
:: The return statement or something.
exit /b 0
set /p input=""
call :parse_to_tokens %input% %len%
echo %len%
:: Prints input length.
set%~2=%len%
实际上是有效的,但是您必须调用%input%len,因为您不想分配给内容%len%
,而是分配给变量len
,非常感谢,它起了作用。@Stephan,如何使string
和len
变量成为本地变量并保持return语句?请看。set%~2=%len%
实际上是有效的,但是您必须调用%input%len,因为您不想分配给内容%len%
,而是分配给变量len
,非常感谢,它起了作用。@Stephan,另外,如何使string
和len
变量成为局部变量并保持return语句?请参阅。