繼上次的問題,繼續來取得日期
雖然說會用到vbs,不過只要是windwos系統原生並且在cmd能做到的就是好指令
@echo wscript.echo dateadd("d",-1,date) > %tmp%\tmp.vbs
寫入 視窗顯示文字 日期增加("日期",增加數值,data) 到 暫存資料夾 名叫tmp.vbs的檔案
d=日期,m=月份,yyyy=年
@for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
@for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
@for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
利用cscript 可以運行 VBScript,並利用for /f 拆分取得的值
在delims=預設為空白,代表搜尋關鍵為空白,若有字元則會以搜尋的字元做分割
delims=-則是減號之後都不要(在這邊放好像沒意義,但就放著吧)
@if %m% LEQ 9 set m=0%m%
@if %d% LEQ 9 set d=0%d%
利用判斷式去將小於等於9的日期及月份去補0,讓輸出比較好看
等於 -等於
NEQ -不等於
LSS -小於
LEQ -小於或等於
GTR -大於
GEQ -大於或等於
@set yesterday=%y%%m%%d%
建立變數,將年月日放在一起
pause
資料來源:
https://docs.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/dateadd-function
http://random168.blogspot.com/2017/02/windows_50.html
https://blog.csdn.net/hutuchongaini/article/details/35290989
沒有留言:
張貼留言