Re: [問題] bat 抓年份

看板Windows作者 (誰もいない)時間5年前 (2018/11/11 23:04), 5年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《Kamiya (谷實)》之銘言: : 作業系統: 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: FOR /F "tokens=1-4 delims=/ " %%a IN ("%date%") DO (M 11/11 21:23 : → tacitus: OVE "H:\WindowsImageBackup\980x" "H:\WindowsImageBack 11/11 21:23 : → tacitus: up\980x_%%a%%b%%c %%d") 11/11 21:24 : → tacitus: 這是我以前在 Windows 7 時候用的, 但沒多久就放棄了~ 11/11 21:26 : 推 tacitus: 以今日而言會改成這樣: 980x_20181111 週日 11/11 21:29 : 問題就在於每一台電腦的日期格式都不一樣了(除非進去reg暴力改?) : 推 tacitus: date 結果是這樣: 2018/11/11 週日, 就拆成四個變數來用 11/11 21:38 : → tacitus: 這個我就不了解了, 我一直都僅有單一台電腦, 沒用過別的 11/11 21:39 : 還是很謝謝你熱心回答 : ※ 編輯: Kamiya (1.171.206.167), 11/11/2018 21:47:04 : → Ricestone: 用powershell寫的話,有-Format,或者-Year可以直接用 11/11 21:47 : → Ricestone: 我有點弄錯了,它的-Year不是那意思 11/11 21:52 : 推 Qorce: 可用WMI撈出年月日 11/11 21:54 : → Qorce: WMIC Path Win32_LocalTime Get Day^,Month^,Year 11/11 21:54 : → Qorce: 當然最簡單還是powershell啦.. 11/11 21:55 : 推 Qorce: Get-Date -Format 'yyyyMMdd' 11/11 21:57 這是我抓日期時間的方式 SET STAMP=%DATE:~0,10%%TIME% SET STAMP=%STAMP: =0% SET STAMP=%STAMP:/=% SET STAMP=%STAMP:-=% SET STAMP=%STAMP:.=% SET STAMP=%STAMP::=% SET STAMP=%STAMP:~0,14% 沒辦法自動判斷年月日的順序 另外這網頁有 VBScript 與 WMIC 的範例 https://ss64.com/nt/syntax-getdate.html -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.7.132 ※ 文章網址: https://www.ptt.cc/bbs/Windows/M.1541948671.A.F55.html ※ 編輯: giacch (36.226.7.132), 11/11/2018 23:47:38
文章代碼(AID): #1Rw4J_zL (Windows)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1Rw4J_zL (Windows)