中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 19:08
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问:IF的比较预算符,正常运算的数值最大为多少? 查看 879 回复 3
楼 主 请问:IF的比较预算符,正常运算的数值最大为多少? 发表于 2006-12-20 08:43 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
19年会员
UID 72412
性别 男
状态 离线
如题:

我写的脚本如下:
关于SET语句对变量的处理不知道是否得当,还有
在变量为11位的时候为什么得不到所要的结果
只有在缩减为9位时才能得到正确结果,对比预算符到底最大支持多大数值.


@ECHO OFF
SETLOCAL enabledelayedexpansion

FOR /F "usebackq" %%i IN ('4.txt') DO SET NEW=%%~ti
SET NEW=%NEW:-=%
SET NEW=%NEW: =%
SET NEW=%NEW::=%
SET NEW=%NEW:~-9%

FOR /F "usebackq" %%i IN ('4_B.txt') DO SET OLD=%%~ti
SET OLD=%OLD:-=%
SET OLD=%OLD: =%
SET OLD=%OLD::=%
SET OLD=%OLD:~-9%

ECHO 新: %NEW%
ECHO 旧: %OLD%

::如果新的时间小于或等于老文件时间则显示不更新
IF %NEW% LEQ %OLD% ECHO 不需要更新
IF %NEW% GTR %OLD% ECHO 需要更新
2 发表于 2006-12-20 10:09 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  呵呵,说错话了,3F正解。

[ Last edited by namejm on 2006-12-19 at 09:23 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
tghksj +1 2006-12-21 04:13
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-12-20 10:16 ·  中国 江西 南昌 电信
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
是-2147483648~2147483647

2^31~2^31-1

实际上就是将2^32分成了两半,而不是将32位分成两半

正数和0,负数各占一半
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
tghksj +2 2006-12-21 04:13
4 发表于 2006-12-21 04:15 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
19年会员
UID 72412
性别 男
状态 离线
谢谢两位,
还有一个问题没有得到答复..
就是对变量的连续处理手法是否正确.
有没有别的处理方法.
论坛跳转: