Board logo

标题: [系统相关] [已解决]如何用批处理生成YYYY-M-D日期格式的目录 [打印本页]

作者: slovent    时间: 2011-6-3 21:24     标题: [已解决]如何用批处理生成YYYY-M-D日期格式的目录

YYYYMMDD这种制式格式似乎比较好取,但想把文件夹变量设置成YYYY-M-D应该如何写脚本呢。
如:
2011-6-12
2011-6-3
2011-11-1
2011-11-15
。。。
作者: batman    时间: 2011-6-3 21:34

  1. @echo off
  2. set /a y=%date:~,4%,m=1%date:~5,2%%%100,d=1%date:~8,2%%%100
  3. md %y%-%m%-%d%
复制代码

作者: slovent    时间: 2011-6-3 21:44

我汗,batman老师厉害,这简短的代码竟然如此神奇。
请问batman老师,为了能得到您的渔,我能多问一句吗?
m=1%date:~5,2%%%100
d=1%date:~8,2%%%100
echo出m和d的变量是m=106%100,d=103%100,但我还是没明白是什么原理
作者: Demon    时间: 2011-6-3 21:57

我汗,batman老师厉害,这简短的代码竟然如此神奇。
请问batman老师,为了能得到您的渔,我能多问一句吗?
m=1%date:~5,2%%%100
d=1%date:~8,2%%%100
echo出m和d的变量是m=106%100,d=103%100,但我还是没明白是 ...
slovent 发表于 2011-6-3 21:44

不要忘记了set /a,神奇归神奇,但是可读性太差。
  1. @echo off
  2. set /a y = %date:~,4%
  3. set /a m = 1%date:~5,2% %% 100
  4. set /a d = 1%date:~8,2% %% 100
  5. echo %y%-%m%-%d%
复制代码

作者: batman    时间: 2011-6-3 21:58

看下这个贴子你会明白的:
http://www.bathome.net/viewthrea ... 1%BC%E4%BC%C6%CB%E3
作者: slovent    时间: 2011-6-3 22:06

恍然大悟,pfpf,取余操作,看来,写代码没有强硬的数学功底真的局限性太大了:(
不说公式多复杂,那个想象无限和思维的跨越自个估计是做不到的。
作者: CrLf    时间: 2011-6-3 22:22

6# slovent


如果确定是两位数的话,除了取余外也可以用减:set /a n=1%date:~5,2%-100
作者: 523066680    时间: 2011-6-3 22:23

echo %date:-0=-%




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2