中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 生成含有日期信息的文件名问题
« [1] [2] »
作者:
标题: 生成含有日期信息的文件名问题 上一主题 | 下一主题
niuji
初级用户





积分 52
发帖 14
注册 2006-8-7
状态 离线
『楼 主』:  生成含有日期信息的文件名问题

我写了这么一个命令
copy  "E:\1.txt" "E:\"niuji_yy/mm/dd".txt"

复制都不成功,为什么?
怎么做才能生成niuji_2006-08-08.txt呢?

初学DOS,请指教,谢谢!

2006-8-8 17:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  看你的描述,应该是XP的系统吧?

  copy  "E:\1.txt" "E:\niuji_%date%.txt"就可以了。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-8 23:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by namejm at 2006-8-8 23:29:
  看你的描述,应该是XP的系统吧?

  copy  "E:\1.txt" "E:\niuji_%date%.txt"就可以了。

E:\niuji_%date:~0,10%.txt

2006-8-9 01:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
IceCrack
中级用户

DOS之友


积分 332
发帖 168
注册 2005-10-6
来自 天涯
状态 离线
『第 4 楼』:  

for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m



测试环境: windows xp pro sp2    高手是这样炼成的:C:\WINDOWS\Help\ntcmds.chm
2006-8-9 08:32
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (369525996)  编辑帖子  回复  引用回复
niuji
初级用户





积分 52
发帖 14
注册 2006-8-7
状态 离线
『第 5 楼』:  

谢谢,好用!

2006-8-16 09:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by IceCrack at 2006-8-9 08:32:
for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m

太罗嗦,简单点:

  Quote:
set dateN=%date:-=_%
set filename=srv_%dateN: =_%



2006-8-16 09:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qiangren
新手上路





积分 4
发帖 2
注册 2006-10-18
状态 离线
『第 7 楼』:  

那我想把日期的横杠"-"也去掉呢?该怎样写啊?

2006-10-19 11:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qiangren
新手上路





积分 4
发帖 2
注册 2006-10-18
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by qiangren at 2006-10-19 11:40:
那我想把日期的横杠"-"也去掉呢?该怎样写啊?

我自己乱式结果搞成如下,不知道有没有更简单的方法呢?
b_%date:~2,2%%date:~5,2%%date:~8,2%.txt

2006-10-19 11:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 9 楼』:  


  试试这个代码:
@echo off
set date_=%date:~0,10%
set date__=%date_:-=%
copy "e:\1.txt" niuji_%date__%.txt


2006-10-19 12:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by lxmxn at 2006-10-19 00:05:

  试试这个代码:
@echo off
set date_=%date:~0,10%
set date__=%date_:-=%
copy "e:\1.txt" niuji_%date__%.txt

没必要用两个变量,一个就OK
@echo off
set date_=%date:~0,10%
set date_=%date_:-=%
copy "e:\1.txt" niuji_%date_%.txt


2006-10-19 13:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 11 楼』:  


  嘿嘿,楼上兄弟可真仔细。
  
  一个两个都一样,反正目的都达到了嘛。而且代码也并没有精简多少。 =_=


2006-10-19 13:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 12 楼』:  

要说精简,那就:
@echo off
set date_=%date:~0,10%
copy "e:\1.txt" niuji_%date_:-=%.txt
少了一行

2006-10-19 21:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 13 楼』:  

点击到“引用回复了”

[ Last edited by zxcv on 2006-10-19 at 09:29 ]

2006-10-19 21:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 14 楼』:  


  小弟佩服ing……


2006-10-20 00:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
micro
初级用户




积分 139
发帖 9
注册 2003-8-4
状态 离线
『第 15 楼』:  

借问一个相关问题,如果我是用一位数字表示月份,用16进制,大于9的月用ABCD表示,例如20061019.txt----2006A19.TXT
应该怎么处理才行?

2006-10-20 00:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: