中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 10:23
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于修改日期格式的问题 查看 1,279 回复 7
楼 主 关于修改日期格式的问题 发表于 2006-11-15 04:16 ·  中国 浙江 杭州 电信
中级用户
积分 209
发帖 34
注册 2004-05-25 00:00
22年会员
UID 25296
性别 男
状态 离线
请问在一个文本文件里如何把日期格式2006-1-1改为2006-01-01,而形如2005-10-11的格式保持不变.用批处理如何实现。
2 发表于 2006-11-15 04:55 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
set Date$=2006-1-1
if "%Date$:~6,1%"=="-" set Date$=%Date$:~0,5%0%Date$:~5,1%%Date$:~6%
if "%Date$:~-2,1%"=="-" set Date$=%Date$:~0,-1%0%Date$:~-1%
echo %Date$%
3 发表于 2006-11-15 05:18 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
这貌似不是在一个文本文件里把日期格式2006-1-1改为2006-01-01
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
4 发表于 2006-11-15 06:28 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  给一段演示代码:

@echo off
:: 假设 test.txt 中只有 2006-1-1 这一行内容,其余情形请自行扩充
setlocal enabledelayedexpansion
for /f "tokens=1-3 delims=-" %%i in (test.txt) do (
set str1=%%j
set str2=%%k
if "!str1:~1!"=="" set str1=0!str1!
if "!str2:~1!"=="" set str2=0!str2!
echo %%i-!str1!-!str2!
)
pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +2 2006-11-15 07:08
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
5 发表于 2006-11-15 06:43 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
哈哈。谢谢,我省事了。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
6 发表于 2006-11-15 07:04 ·  中国 浙江 杭州 电信
中级用户
积分 209
发帖 34
注册 2004-05-25 00:00
22年会员
UID 25296
性别 男
状态 离线
谢谢namejm的帮助
本人是个初学者
但是这句的判断我还是不太明白 if "!str1:~1!"=="" set str1=0!str1!
if "!str2:~1!"=="" set str2=0!str2!
谁能给我说说,我在这里先谢了.
7 发表于 2006-11-15 07:17 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
RE #four#
  请看这个帖子:[简单索引]关于SET变量、延时变量、各种符号的用法……,你要的答案在顶楼的最后一个链接中。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
8 发表于 2006-11-15 07:40 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
if "!str1:~1!"=="" set str1=0!str1!
if "!str2:~1!"=="" set str2=0!str2!

可以换为

if !str1! LSS 10 set str1=0!str1!
if !str2! LSS 10 set str2=0!str2!
论坛跳转: