中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 16:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » dos的bat文件中能不能直接解析字符串 查看 1,198 回复 5
楼 主 dos的bat文件中能不能直接解析字符串 发表于 2006-06-13 09:38 ·  中国 北京 科学院网
新手上路
积分 8
发帖 2
注册 2006-06-13 09:36
20年会员
UID 56942
性别 男
状态 离线
对dos不熟, 先请教了

dos的bat文件中, 想分别提取当前日期

比如 %DATE% 代表当前日期 2006-6-13

有没有办法对字符串解析, 就是分别用3个变量代表2006,6,13

多谢多谢呀?
2 发表于 2006-06-13 10:22 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
rem 命令行
for /F "tokens=1-3 delims=/- " %A in ('date/T') do set DATE=%A,%B,%C

rem 批处理
for /F "tokens=1-3 delims=/- " %%A in ('date/T') do set DATE=%%A,%%B,%%C
3 发表于 2006-06-13 10:53 ·  中国 北京 海淀区 IDC机房
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
20年会员
UID 52853
性别 男
来自 广东
状态 离线

比如 %DATE% 代表当前日期 2006-6-13

有没有办法对字符串解析, 就是分别用3个变量代表2006 6 13

set a=%DATE:~0,4%
set b=%DATE:~5,1%
set c=%DATE:~7,2%
echo %a% %b% %c%
4 发表于 2006-06-13 11:24 ·  中国 北京 科学院网
新手上路
积分 8
发帖 2
注册 2006-06-13 09:36
20年会员
UID 56942
性别 男
状态 离线
多谢多谢呀,
高手就是高呀,
5 发表于 2006-06-14 08:23 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
3楼怕是错了吧!我在WIN2000里可以用下面的命令:
set a=%DATE:~4,4%
set b=%DATE:~6,2% (如果是在10月以下可以是set a=%DATE:~7,1%)
set c=%DATE:~12,2%
echo %a% %b% %c%
6 发表于 2006-06-14 09:57 ·  中国 北京 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
20年会员
UID 43784
来自 北京
状态 离线
qwe1234567版主,2000和XP的时间显示顺序是不一样的,三楼也许是XP系统的测试 .............
论坛跳转: