找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 87166|回复: 19

[文本处理] 批处理如何按日期重命名文件名?

[复制链接]
发表于 2014-10-31 13:30:59 | 显示全部楼层 |阅读模式
以下批处理文件执行后,错误命名文件名为:客运月报[1904年110月].xls,正确应该命名为:客运月报[2014年10月].xls,请问怎么修改?
  1. @echo off

  2. set /a "N=%date:~,4%,m=(1%date:~5,2%-90)%%12+101,N-=m-1/112"
  3. set wj=[%N%年%m%月]

  4. if "%date:~8,2%"=="01" ren d:\客运月报\客运月报.xls 客运月报%wj%.xls

  5. echo 按任意键退出......
  6. pause>nul
复制代码
发表于 2014-10-31 14:03:33 | 显示全部楼层
打开一个命令行窗口,执行:
echo %date%
把结果发出来看看
 楼主| 发表于 2014-10-31 20:35:29 | 显示全部楼层
请老师帮我看看
 楼主| 发表于 2014-10-31 20:39:25 | 显示全部楼层
回复 3# 7016427
请老师帮我看看,能否解决!
 楼主| 发表于 2014-10-31 20:42:10 | 显示全部楼层
回复 2# Batcher

请老师帮我看看,能否解决!
 楼主| 发表于 2014-10-31 20:44:12 | 显示全部楼层
回复 2# Batcher

echo %date%
执行的结果是:2014-10-31  星期五
发表于 2014-11-1 09:39:48 | 显示全部楼层
把%date%截取就可以了
  1. echo %date:~0,4%年%date:~5,2%月
复制代码
 楼主| 发表于 2014-11-1 13:29:35 | 显示全部楼层
回复 7# nnszuo

老师你好!获取的结果:2014年11月
 楼主| 发表于 2014-11-1 20:05:04 | 显示全部楼层
回复 7# nnszuo
2014年11月1日,我要取上月(2014年10月)怎么改?
发表于 2014-11-2 16:25:16 | 显示全部楼层
最简单的这样
  1. echo %date:~0,4%年11月
复制代码
也可以这样
  1. set y=%date:~5,2%
  2. set /a y-=1
  3. echo %date:~0,4%年%y%月
复制代码
发表于 2014-11-2 21:15:47 | 显示全部楼层
回复 10# nnszuo


    日期的计算不能这样做,你让一月份情何以堪?
发表于 2014-11-3 19:03:39 | 显示全部楼层
本帖最后由 nnszuo 于 2014-11-3 19:20 编辑

这个问题被我忽略了,还有就是1-9月份的时候前面有个0,这是修改后的
  1. set y=1%date:~5,2%
  2. set k=%date:~0,4%
  3. if "%y%"=="101" (set /a y+=12&set /a k-=1)
  4. set /a y-=1
  5. echo %k%年%y:~1,2%月
复制代码
发表于 2014-11-3 20:31:48 | 显示全部楼层
楼主可谓奇才,免费参观哦
http://www.bathome.net/thread-31353-1-1.html
发表于 2014-11-4 00:28:51 | 显示全部楼层
回复 1# 7016427
楼主是想这样结果吧
  1. set /a "N=%date:~,4%,m=(1%date:~5,2%-90)%%12+101,N-=m/112"
  2. set wj=[%N%年%m:~-2%月]
复制代码
 楼主| 发表于 2014-11-4 12:38:58 | 显示全部楼层
回复 14# terse

老师你好!测试成功!非常感谢!还要麻烦老师帮我解释你这个代码的意思!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 18:34 , Processed in 0.043660 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表