批处理中的问题(调试)



我有一个奇怪的问题,我试图解决YouTube上的问题。

目标/预期功能: [检查字符串并确定是否存在重复的数字。 我遇到这样一种情况:用户输入了一个字符串,我的程序将其拆分为数字变量,每个变量都有一个字符。当分配新字符时,将检查所有字符,然后从其下方的数字开始。

我的问题: 我的比较命令以一种奇怪的方式设置,我不确定如何解决。

if %%%temp%%%==%%%temp2%%% goto win

我想造成的效果是...Temp/temp2 被评估为它们的数值,然后留下这样的东西......

if %%1%%==%%2%% goto win

这简化了...

if %1%==%2% goto win

然后,这应该比较字符串中的这两个点。但是,此命令的计算结果为百分号之间的数字。我该怎么办?

完整代码:

@echo off
set /p string=
set /a num=0
call set %num%=%%string:~%num%,1%%
set /a num=1
:re2
call set %num%=%%string:~%num%,1%%
set /a temp=%num%-1
set temp2=%num%
:re3
if %%%temp%%%==%%%temp2%%% goto win
if %temp%==0 goto re4
set /a temp=%temp%-1
goto re3
:re4
set /a num=%num%+1
goto re2
:win

[解决方案]

我找到了一种通过变量调用我想要的东西的方法,我将命令放在一个变量中,然后在它自己的行上键入变量的"调用"。

设置 CCC=if %%%aa%%%==%%%bbb%%% goto win回声 %ccc%

最新更新