gpt4 book ai didi

windows - 批量 IF 变量比较神秘地不起作用

转载 作者:可可西里 更新时间:2023-11-01 11:25:53 28 4
gpt4 key购买 nike

我想创建一个批处理文件,它读取 2 个不同的值,并根据它们的比较方式进行相应处理。但是,比较永远不会起作用。代码是:

REM string1 and string2 contain the following test string "---------- COUNT.TXT 14" from which the number at the very right will be extracted in the next lines:
REM read numbers from strings and save as variables

set /a var1 =%:string1:~22,2%
set /a var2 =%:string2:~22,2%

IF #var1# == #var2# (
...
)

关于为什么条件/比较永远不起作用的任何想法? “SET var”显示两个变量相等(var1=14,var2=14),但是在 IF 中它们不被识别。任何指导将不胜感激!

字符串顺便说一句。是 find/c(查找和计数)的第二个输出行。

最佳答案

它是 IF %var1% == %var2% ...(不是 #)或者确定:IF "%var1%"== “%var2%” ...

顺便说一下:你的字符串看起来很像 find/c 的输出如果这是真的,并且缺少的冒号只是一个拼写错误,你可以将你的字符串拆分为:

for /f "tokens=2 delims=:" %%i in ("%string1%") do set /a var1=%%i 

或者更简单:

set /a var1=%string1:*: =%

(从头开始删除直到(包括):(冒号空格)(这甚至不需要 /a)

不用关心,是两位数还是一位数还是六位...

关于windows - 批量 IF 变量比较神秘地不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36804380/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com