| 
 
niuji 
初级用户
 
  
 
  
  
积分 52 
发帖 14 
注册 2006-8-7 
状态 离线
 | 
『楼 主』:
 生成含有日期信息的文件名问题
 
使用 LLM 解释/回答一下
  
我写了这么一个命令 
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 楼』:
 
 
使用 LLM 解释/回答一下
  
  看你的描述,应该是XP的系统吧? 
 
  copy  "E:\1.txt" "E:\niuji_%date%.txt"就可以了。 
 
    
 
  
  |  
                  
  
                    尺有所短,寸有所长,学好CMD没商量。 
考虑问题复杂化,解决问题简洁化。 |   
 | 
  2006-8-8 23:29 | 
  
 | 
 | 
 
zh159 
金牌会员
 
      
 
  
 
积分 3687 
发帖 1467 
注册 2005-8-8 
状态 离线
 | 
『第 3 楼』:
 
 
使用 LLM 解释/回答一下
  
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 楼』:
 
 
使用 LLM 解释/回答一下
  
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 | 
  
 | 
 | 
 
niuji 
初级用户
 
  
 
  
  
积分 52 
发帖 14 
注册 2006-8-7 
状态 离线
 | 
 | 
  2006-8-16 09:10 | 
  
 | 
 | 
 
zh159 
金牌会员
 
      
 
  
 
积分 3687 
发帖 1467 
注册 2005-8-8 
状态 离线
 | 
『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
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  
太罗嗦,简单点:
 set dateN=%date:-=_% 
set filename=srv_%dateN: =_%  
 
    
 
  
 |   
 | 
  2006-8-16 09:42 | 
  
 | 
 | 
 
qiangren 
新手上路
 
 
 
  
  
积分 4 
发帖 2 
注册 2006-10-18 
状态 离线
 | 
 | 
  2006-10-19 11:40 | 
  
 | 
 | 
 
qiangren 
新手上路
 
 
 
  
  
积分 4 
发帖 2 
注册 2006-10-18 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
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 楼』:
 
 
使用 LLM 解释/回答一下
  
 
  试试这个代码: 
 
@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 楼』:
 
 
使用 LLM 解释/回答一下
  
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 楼』:
 
 
使用 LLM 解释/回答一下
  
 
  嘿嘿,楼上兄弟可真仔细。 
   
  一个两个都一样,反正目的都达到了嘛。而且代码也并没有精简多少。 =_= 
 
    
 
  
 |   
 | 
  2006-10-19 13:44 | 
  
 | 
 | 
 
zh159 
金牌会员
 
      
 
  
 
积分 3687 
发帖 1467 
注册 2005-8-8 
状态 离线
 | 
『第 12 楼』:
 
 
使用 LLM 解释/回答一下
  
要说精简,那就: 
@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 楼』:
 
 
使用 LLM 解释/回答一下
  
点击到“引用回复了”  
 Last edited by zxcv on 2006-10-19 at 09:29 ]  
 
    
 
  
 |   
 | 
  2006-10-19 21:28 | 
  
 | 
 | 
 
lxmxn 
版主
 
        
 
  
 
积分 11386 
发帖 4938 
注册 2006-7-23 
状态 离线
 | 
 | 
  2006-10-20 00:11 | 
  
 | 
 | 
 
micro 
初级用户
 
  
 
  
 
积分 139 
发帖 9 
注册 2003-8-4 
状态 离线
 | 
『第 15 楼』:
 
 
使用 LLM 解释/回答一下
  
借问一个相关问题,如果我是用一位数字表示月份,用16进制,大于9的月用ABCD表示,例如20061019.txt----2006A19.TXT 
应该怎么处理才行? 
 
    
 
  
 |   
 | 
  2006-10-20 00:38 | 
  
 |