作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想创建一个批处理文件,它读取 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/
我是一名优秀的程序员,十分优秀!