屋顶上的木帷幕

海鸥之所以追着渔船飞,是因为它们认为会有沙丁鱼抛向大海 - Eric Cantona, 1995
随笔 - 146, 评论 - 3169, 引用 - 56

导航

关于


标签

每月存档

最新留言

广告

 

以前并不知道还可以有这样的用法:

C:\>echo %date% 2005-05-10 星期二 C:\>echo %date:~0,4% 2005 C:\>echo %date:~11% 星期二 C:\>echo %date:~-3% 星期二 C:\>echo %date:~-3,-1% 星期

用于在批处理文件中生成每天一个(或每月、每年一个)日志文件,这是最直接的做法。比套用vbscript等其他方法来得简洁。这个方法的缺点是%date%的值在不同的系统、不同的语言版本下都是不一样的,Control Panel里面Regional and Language Options设定也会改变%date%的值。

打印 | 张贴于 2005-05-10 21:28:00 | Tag:Cool Stuffs

留言反馈

#回复: 批处理文件(Batch File)里的Substring操作 编辑
看半天。明白了。字体有点小哦,我视力不好,晕。
2008-02-19 01:59:00 | [匿名:云南旅游]
#回复: 批处理文件(Batch File)里的Substring操作 编辑
“用于在批处理文件中生成每天一个(或每月、每年一个)日志文件,这是最直接的做法。比套用vbscript等其他方法来得简洁。这个方法的缺点是%date%的值在不同的系统、不同的语言版本下都是不一样的,Control Panel里面Regional and Language Options设定也会改变%date%的值。”

从这里学到了很多,也把自己昨天刚研究出来的东西共享一下,希望其他人不要像我熬到凌晨才把它弄出来。
我要遇到的问题就是要在不同的系统,不同的语言版本里获得系统的当前时间,并付给一个变量。

@echo off
rem ---------------------------------------------------------------
rem Get the system current date with the same format YYYY/MM//DD
rem with different local settings
rem ---------------------------------------------------------------
FOR /F "TOKENS=2* DELIMS= " %%A IN ('REG QUERY "HKEY_CURRENT_USER\Control Panel\International\iDate"') DO SET iDate=%%B
FOR /F "TOKENS=2* DELIMS= " %%A IN ('REG QUERY "HKEY_CURRENT_USER\Control Panel\International\sDate"') DO SET sDate=%%B

IF %iDate%==0 FOR /F "TOKENS=1-4* DELIMS=%sDate% " %%A IN ('DATE/T') DO set date=%%C/%%A/%%B
IF %iDate%==1 FOR /F "TOKENS=1-4* DELIMS=%sDate% " %%A IN ('DATE/T') DO set date=%%C/%%B/%%A
IF %iDate%==2 FOR /F "TOKENS=1-4* DELIMS=%sDate% " %%A IN ('DATE/T') DO set date=%%A/%%B/%%C

echo %date%

这里要注意有的系统REG.EXE的版本不一样,我用的是Platform Builder 里的。
2008-02-16 14:43:00 | [匿名:yu]
#回复: 批处理文件(Batch File)里的Substring操作 编辑
前几天,要定时备份一个目录,就在研究批处理文件,当时的想法,是想自动备份的目录下取当前的日期来备份,终于在网上找到1段程序:

for /f "tokens=1,2,3 delims=- " %a in ("date /t") in ("date /t") do @echo "%a-%b-%c"

可以取当前的日期前几天,要定时备份一个目录,就在研究批处理文件,当时的想法,是想自动备份的目录下取当前的日期来备份,终于在网上找到1段程序:

for /f "tokens=1,2,3 delims=- " %a in ("date /t") in ("date /t") do @echo "%a-%b-%c"

可以取当前的日期前几天,要定时备份一个目录,就在研究批处理文件,当时的想法,是想自动备份的目录下取当前的日期来备份,终于在网上找到1段程序:

for /f "tokens=1,2,3 delims=- " %a in ("date /t") in ("date /t") do @echo "%a-%b-%c"

可以取当前的日期
2007-04-26 02:22:00 | [匿名:车载MP3]
#回复: 批处理文件(Batch File)里的Substring操作 编辑
真的么我不台相信哦前几天,要定时备份一个目录,就在研究批处理文件,当时的想法,是想自动备份的目录下取当前的日期来备份,终于在网上找到1段程序:

for /f "tokens=1,2,3 delims=- " %a in ("date /t") in ("date /t") do @echo "%a-%b-%c"

可以取当前的日期前几天,要定时备份一个目录,就在研究批处理文件,当时的想法,是想自动备份的目录下取当前的日期来备份,终于在网上找到1段程序:

for /f "tokens=1,2,3 delims=- " %a in ("date /t") in ("date /t") do @echo "%a-%b-%c"

可以取当前的日期
2007-04-26 02:21:00 | [匿名:月饼]
#回复: 批处理文件(Batch File)里的Substring操作 编辑
真的么我不台相信哦
2007-04-26 02:20:00 | [匿名:月饼]
#回复: 批处理文件(Batch File)里的Substring操作 编辑
用于在批处理文件中生成每天一个(或每月、每年一个)日志文件,这是最直接的做法。比套用vbscript等其他方法来得简洁。这个方法的缺点是%date%的值在不同的系统、不同的语言版本下都是不一样的,Control Panel里面Regional and Language Options设定也会改变%date%的值。
2006-12-12 16:38:00 | [匿名:U盘摄像头]
#回复: 批处理文件(Batch File)里的Substring操作 编辑
学习了
2006-12-12 16:37:00 | [匿名:U盘摄像头]
#re: 批处理文件(Batch File)里的Substring操作 编辑
SFSSFSF
2006-11-01 19:43:00 | [匿名:云南旅游]
#re: 批处理文件(Batch File)里的Substring操作 编辑
SF
2006-11-01 19:42:00 | [匿名:桂林旅游]
#re: 批处理文件(Batch File)里的Substring操作 编辑
good site
2006-08-16 23:15:00 | [匿名:影视制作,宣传片制作,影视广告制作]
#re: 批处理文件(Batch File)里的Substring操作 编辑
太好了,正在找!

rar.exe a -m1 %date:~0,10%\www.rar d:\www\

以后每次备份可以自动运行了!
谢谢!
2005-12-02 23:46:00 | [匿名:尖锐湿疣]
#re: 批处理文件(Batch File)里的Substring操作 编辑
能否对取得的日期进行加减操作呢?
2005-11-17 16:26:00 | [匿名:zhaosd]
#re: 批处理文件(Batch File)里的Substring操作 编辑
文件中的参数是什么意思呀.怎样使用的呀?
2005-08-06 22:11:00 | [匿名:ffff]
#re: 批处理文件(Batch File)里的Substring操作 编辑
太好了, 今天要備份數據用 日期作為文件名 , 被我找到你 .謝謝
2005-08-04 13:03:00 | [匿名:網羅搜尋者]
#re: 批处理文件(Batch File)里的Substring操作 编辑
win98不行呀
2005-07-18 09:55:00 | [匿名:鬼龙之舞]
#re: 批处理文件(Batch File)里的Substring操作 编辑
前几天,要定时备份一个目录,就在研究批处理文件,当时的想法,是想自动备份的目录下取当前的日期来备份,终于在网上找到1段程序:

for /f "tokens=1,2,3 delims=- " %a in ("date /t") in ("date /t") do @echo "%a-%b-%c"

可以取当前的日期
2005-06-23 00:51:00 | [匿名:fly_miss]
#re: 批处理文件(Batch File)里的Substring操作 编辑
最简单的windows都很多可以挖掘的呀。我以前只知道cygwin和mks可以用,但是前天才知道,microsoft也有Resource Kit Tools呀,里面提供不少类unix的命令呢,对于写windos上的批处理,有非常非常大的帮助。
2005-06-17 23:35:00 | [匿名:haides]
#re: 批处理文件(Batch File)里的Substring操作 编辑
%time%也可以的
2005-06-07 00:31:00 | [匿名:buxiang]
#re: 批处理文件(Batch File)里的Substring操作 编辑
有详细的参考吗?或许找到一些更有用的东东
2005-06-03 00:02:00 | [匿名:A]
#re: 批处理文件(Batch File)里的Substring操作 编辑
果然不一样~ 一改设置 输出的字符串就变了
挺好玩的
^^
2005-06-02 14:32:00 | [匿名:adou]
#re: 批处理文件(Batch File)里的Substring操作 编辑
还是有用的嘛
2005-05-25 09:36:00 | [匿名:CrazyTiger]
#re: 批处理文件(Batch File)里的Substring操作 编辑
vs.net是用osi c++开发出来的吧?怎么看到很多人说是用c#写的?
2005-05-13 21:19:00 | [匿名:joky7]
#re: 批处理文件(Batch File)里的Substring操作 编辑
o iso c++?
2005-05-13 21:19:00 | [匿名:joky7 ]
#re: 批处理文件(Batch File)里的Substring操作 编辑
不错.可惜现在能用的到的地方不是很多了.还是蛮好玩的.
2005-05-11 07:08:00 | [匿名:学生一族]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.2.0