[問題] 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