橘琥珀 wrote:
土 2017/03/04
echo %date:~2,4%-%date:~7,2%-%date:~10,2%
Windows 2000 的 date /t 與 %date% 本地化字串不一致,其中一種是星期會列在前面。Windows XP 和以後的系統有修正。
設定 >地區與語言->格式 ->日期與時間格式
windows 2000 太遠了,不記得是否有修改的功能,我在 中文系統,都會將時間改 am/pm 日期改 yyyy/mm/dd
方便 bat 檔操作(中文會出現 上午 、下午,或 其它奇奇怪怪的)
年月日,我是用這樣的方式抓
:Function_date
For /f "tokens=1-4 delims=/ " %%a in ('date /t') do (set yy=%%a& set mm=%%b& set dd=%%c& set ww=%%d)
set mmm=1%mm% & set /a mmm-=100
set ddd=1%mm% & set /a ddd-=100
set /a today_cnt=(%yy%-%YearStart%)*365+%mmm%*30+%ddd%
:Function_date_end
至於 3個月前,如果你用簡單一點的方式,ex:每日備份,刪除 90天前的備份
那這就簡單
dir/od |find "<DIR>"
就能將目錄 依時間排列,數有幾行,如果超過 90行,表示超過90天,刪除第一行所指的目錄。
會用 for /f in do set dir 就能做出你要的(重點是你了解 for do set dir 有多少)