You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Batch脚本双If语句失效求助——辐射式技能点数分配系统

问题排查:Batch脚本技能点数分配逻辑异常

嘿,我一眼就揪出问题所在啦!你的双if语句里,第二个判断条件犯了个很典型的Batch脚本小错误——你直接写了"skp",而不是引用变量"%skp%"。

在Batch脚本里,要调用变量的实际值,必须用百分号%把变量名包裹起来。你现在写的if "skp"=="0",本质是在把字符串skp和字符串0做比较,这俩永远不可能相等,所以跳转到skperrors的逻辑根本不会触发,程序自然就直接执行后面的点数修改代码了。

修正后的代码应该是这样的:

if "%sdec%"=="5" (
    if "%skp%"=="0" goto skperrors
    set /a "skp=skp-5"
    set /a "s=s+5"
)

另外给你提个小建议:如果后续需要判断剩余点数是否足够分配(比如用户输入5但剩余点数只有3),可以用数值比较代替字符串比较,比如if %skp% lss 5 goto skperrors,这样能避免字符串比较可能带来的数值判断误差哦。

内容的提问来源于stack exchange,提问作者Gl1tch Crashed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:03:38