批处理问题(调试)

问题描述 投票:0回答:1

我有一个奇怪的问题,我试图解决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
batch-file debugging
1个回答
0
投票

[解]

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

set ccc = if %%% aaa %%% == %%% bbb %%% goto win echo%ccc%

© www.soinside.com 2019 - 2024. All rights reserved.