|
w1972
新手上路
积分 12
发帖 5
注册 2007-4-29
状态 离线
|
『楼 主』:
如何以当前日期时间为名建立日志文件
工作需要每天四次检测网络连通情况,执行结果要保存。
计划将文件名表示为YYYYmmddHHssmm.txt
现用如下命令实现:
测试.bat > %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%.txt
但是当时间介于0点到9点时,%time:~0,2%时间函数取值会出现“ ”空格,不会像日期一样补0,即10点到23点之间,程序运行正常,其他时间则会由于文件名中包含空格出错。
请各位大虾帮帮忙,实现0点到9点之间文件名能在小时前补0
多谢多谢!!!
|
|
2007-4-29 03:03 |
|
|
honghunter
中级用户
积分 321
发帖 135
注册 2007-2-4
状态 离线
|
|
2007-4-29 03:29 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
3 楼』:
@echo off
set time_=00%time%
set time_=%time:~-11%
set ok=%date:~0,4%%date:~5,2%%date:~8,2%%time_:~0,2%%time_:~3,2%.txt
echo md %ok%
pause
|
|
2007-4-29 04:20 |
|
|
w1972
新手上路
积分 12
发帖 5
注册 2007-4-29
状态 离线
|
『第
4 楼』:
谢谢斑竹回复!!
可是用你的方法仍然会产生空格,是否有办法把0-9点前的空格替换成数字0?
|
|
2007-4-29 21:20 |
|
|
w1972
新手上路
积分 12
发帖 5
注册 2007-4-29
状态 离线
|
『第
5 楼』:
自己解决了,原来的判断语句有问题
@echo 正在测试,请等待............
@echo off
if "%time:~0,1%"==" " goto pppp
ping 127.0.0.1 > %date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.txt
goto end
:pppp
ping 127.0.0.1 > %date:~0,4%%date:~5,2%%date:~8,2%_0%time:~1,1%%time:~3,2%.txt
goto end
:end
pause
|
|
2007-4-29 22:18 |
|
|
lxmxn
版主
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第
6 楼』:
这个应该可以了:
@echo off
set time_=%time: =0%
set ok=%date:~0,4%%date:~5,2%%date:~8,2%%time_:~0,2%%time_:~3,2%
md %ok%
pause
此帖被 +1 点积分 点击查看详情 评分人:【 w1972 】 | 分数: +1 | 时间:2007-4-30 00:13 |
|
|
|
2007-4-29 23:05 |
|
|
w1972
新手上路
积分 12
发帖 5
注册 2007-4-29
状态 离线
|
|
2007-4-30 00:08 |
|
|
w1972
新手上路
积分 12
发帖 5
注册 2007-4-29
状态 离线
|
『第
8 楼』:
还是斑竹高明
bat代码也够强大的了,居然可以 =0替换
谢谢!!!
|
|
2007-4-30 00:09 |
|
|
oozic
初级用户
积分 35
发帖 25
注册 2007-11-28
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by lxmxn at 2007-4-29 11:05 PM:
这个应该可以了:
@echo off
set time_=%time: =0%
set ok=%date:~0,4%%date:~5,2%%date:~8,2%%time_:~0,2%%time_:~3,2%
md %ok%
pause |
|
版主 我单位的机器的操作系统都是英文版的,用你这个显示不了YYYYmmddHHssmm.txt
请问有通用版本的dos代码嘛?
|
|
2009-4-16 02:02 |
|
|
netbenton
银牌会员
批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第
10 楼』:
通用的系统日期时间处理会让你的代码变得很臃肿,
至少偶认为是这样,因为各种系统日期时间表示太多样了,要考虑的问题太多了。
等待斑主的好方法
|
精简
[你的+我的+他的]=>[大家的] 个人网志 |
|
2009-4-16 02:16 |
|
|
oozic
初级用户
积分 35
发帖 25
注册 2007-11-28
状态 离线
|
『第
11 楼』:
我单位的机器的格式是
date /t: Thu 04/16/2009
time /t: 1:16p
这个的格式的,我也正烦呢。
换到现在的中文系统格式全乱了。。。。。
|
|
2009-4-16 02:22 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2009-4-16 03:10 |
|
|
netbenton
银牌会员
批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
|
2009-4-16 07:21 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
14 楼』:
Re 13楼
这个方法局限性太大了
因为日期中可能包含文件名认为非法的字符(这样的字符实在是太多了)
|
|
|
2009-4-16 10:52 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
15 楼』:
Re 13楼
还有一点,~ti获取的日期格式跟%date%同样都是取决于注册表中那个键值的设置,仍然无法断定其格式。
|
|
|
2009-4-16 10:54 |
|