[问题] bat 抓年份

楼主: Kamiya (暂停 ninimiga 发言7天)   2018-11-11 20:55:02
作业系统: DOS
Service Pack: N/A
如果错版请再提示我可以去哪里问(我的认知是这是Windows的一部分) 感谢
简单的说, 我想要把一个资料夹利用bat自动命名(或者重新命名)为当天的日期
希望的格式是yyyymmdd
但问题来了
就我电脑的设定, 如果我 echo %date%
会得到 11/11/18
也就是说如果我直接set yyyy=%date:~0,4%
会得到11/1这个很愚蠢的玩意
(如果我拿来md, 我会得到一个名为11的资料夹以及一个名为1的子资料夹)
比较偷懒的作法是取成这样, 20%date:~6,2%
但这怎么看起来都不是一个正规的写法
理想上, 我应该让电脑自己判断(并且是在不管我的系统设定是什么样的情况下)
请问这样的bat我应该怎么写呢?
备注: 我试着使用 if lss 但感觉没效,
另外, 我系统上的日期格式"可能"是dd/mm/yy
作者: tacitus (编年史)   2018-11-11 21:23:00
FOR /F "tokens=1-4 delims=/ " %%a IN ("%date%") DO (MOVE "H:\WindowsImageBackup\980x" "H:\WindowsImageBackup\980x_%%a%%b%%c %%d")这是我以前在 Windows 7 时候用的, 但没多久就放弃了~以今日而言会改成这样: 980x_20181111 周日date 结果是这样: 2018/11/11 周日, 就拆成四个变量来用这个我就不了解了, 我一直都仅有单一台电脑, 没用过别的
作者: Ricestone (麦饭石)   2018-11-11 21:47:00
用powershell写的话,有-Format,或者-Year可以直接用我有点弄错了,它的-Year不是那意思
作者: Qorce (你不是大侠吃香蕉)   2018-11-11 21:54:00
可用WMI捞出年月日WMIC Path Win32_LocalTime Get Day^,Month^,Year当然最简单还是powershell啦..Get-Date -Format 'yyyyMMdd'
作者: sicao (adios)   2018-11-12 12:17:00
...我只会写成console让排程去跑
作者: keung (keung)   2018-11-12 18:39:00
https://bit.ly/2zL39fa 参考这写法?

Links booklink

Contact Us: admin [ a t ] ucptt.com