[問題] bat 抓年份

看板Windows作者 (谷實)時間5年前 (2018/11/11 20:55), 5年前編輯推噓6(609)
留言15則, 5人參與, 5年前最新討論串1/2 (看更多)
作業系統: 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

11/11 21:23, 5年前 , 1F
FOR /F "tokens=1-4 delims=/ " %%a IN ("%date%") DO (M
11/11 21:23, 1F

11/11 21:23, 5年前 , 2F
OVE "H:\WindowsImageBackup\980x" "H:\WindowsImageBack
11/11 21:23, 2F

11/11 21:24, 5年前 , 3F
up\980x_%%a%%b%%c %%d")
11/11 21:24, 3F

11/11 21:26, 5年前 , 4F
這是我以前在 Windows 7 時候用的, 但沒多久就放棄了~
11/11 21:26, 4F

11/11 21:29, 5年前 , 5F
以今日而言會改成這樣: 980x_20181111 週日
11/11 21:29, 5F
問題就在於每一台電腦的日期格式都不一樣了(除非進去reg暴力改?)

11/11 21:38, 5年前 , 6F
date 結果是這樣: 2018/11/11 週日, 就拆成四個變數來用
11/11 21:38, 6F

11/11 21:39, 5年前 , 7F
這個我就不了解了, 我一直都僅有單一台電腦, 沒用過別的
11/11 21:39, 7F
還是很謝謝你熱心回答

11/11 21:47, 5年前 , 8F
用powershell寫的話,有-Format,或者-Year可以直接用
11/11 21:47, 8F

11/11 21:52, 5年前 , 9F
我有點弄錯了,它的-Year不是那意思
11/11 21:52, 9F

11/11 21:54, 5年前 , 10F
可用WMI撈出年月日
11/11 21:54, 10F

11/11 21:54, 5年前 , 11F
WMIC Path Win32_LocalTime Get Day^,Month^,Year
11/11 21:54, 11F

11/11 21:55, 5年前 , 12F
當然最簡單還是powershell啦..
11/11 21:55, 12F

11/11 21:57, 5年前 , 13F
Get-Date -Format 'yyyyMMdd'
11/11 21:57, 13F

11/12 12:17, 5年前 , 14F
...我只會寫成console讓排程去跑
11/12 12:17, 14F
※ 編輯: Kamiya (118.154.75.11), 11/12/2018 17:22:03

11/12 18:39, 5年前 , 15F
https://bit.ly/2zL39fa 參考這寫法?
11/12 18:39, 15F
文章代碼(AID): #1Rw2QfGo (Windows)
討論串 (同標題文章)
文章代碼(AID): #1Rw2QfGo (Windows)