2021-05-16

[學習][cmd]日期的取得2:date

繼上次的問題,繼續來取得日期

雖然說會用到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

 

沒有留言:

張貼留言