sách gpt4 ai đã đi

So sánh biến IF hàng loạt không hoạt động một cách bí ẩn

In lại 作者:可可西里 更新时间:2023-11-01 11:25:53 28 4
mua khóa gpt4 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(查找和计数)的第二个输出行。

1 Câu trả lời

它是 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
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com