批处理文件:函数,创建特定字符的字符串,x次]] << [

问题描述 投票:0回答:2
请帮助我的脚本不起作用。

@echo off echo Printing repeated character call :printStrings retVal 3 # echo Returned String: "%retVal%" PAUSE :printStrings ( setlocal EnableDelayedExpansion set /a "Number=%~2" rem set /a "counter=60-!Number!" set "returnStr=" set "repeatChar=%~3" rem echo Character to repeat: %repeatChar% FOR /L %%G IN (1,1,!Number!) DO ( set "returnStr=%returnStr%%repeatChar%" echo Adding character ) ) ( endlocal set "%~1=%returnStr%" rem set "%~1=%repeatChar%" exit /b )

我需要通过调用该函数来打印x特定字符的次数,所以如果我这样做的话

call :printStrings retVal 3 #

预期的输出将是

返回的字符串:“ ###”

请帮助我的脚本不起作用。 @echo off echo打印重复的字符调用:printStrings retVal 3#echo返回的字符串:“%retVal%” PAUSE:printStrings(setlocal ...

windows batch-file cmd
2个回答
0
投票
您使用DelayedExpansion,但不在重要行上。set "returnStr=%returnStr%%repeatChar%"将失败,因为%returnStr%和%repeatChar%的扩展已完成。

0
投票
::为什么使这么简单的事情复杂化
© www.soinside.com 2019 - 2024. All rights reserved.