首頁 > 軟體

Windows環境bat指令碼獲取檔案的建立時間

2022-03-22 13:01:10

windows環境獲取時間相關概念

1、windows下DOS視窗date格式

針對date的結果將其進行格式化顯示,如:YYYY-MM-DD 就要進行如下操作:

日期擷取遵從格式 %date:~x,y%,表示從第x位開始,擷取y個長度(x,y的起始值為0)

年份從第0位開始擷取4位元,月份從第5位開始擷取2位,日期從第8位元開始擷取2位

2、windows下DOS視窗time格式

針對time的結果將其進行格式化顯示,如:HH:MM:SS就要進行如下操作:

時間擷取遵從格式 %time:~x,y%,表示從第x位開始,擷取y個長度(x,y的起始值為0)

時鐘從第0位開始擷取2位,分鐘從第3位開始擷取2位,秒鐘從第6位開始擷取2位

2、指令碼DateTime.bat

:: 編碼格式 ANSI:: 指令碼建立時最好選擇ANSI編碼(防止中文亂碼):: @echo off 表示不回顯執行的命令@echo off @echo =========Windows的原本日期時間格式=======================:: 設定變數,使用變數時需要用一對%包起來set ORIGINAL_DATE=%date% echo %ORIGINAL_DATE% @echo =========日期按照YYYY-MM-DD格式顯示======================:: 日期擷取遵從格式 %date:~x,y%,表示從第x位開始,擷取y個長度(x,y的起始值為0):: 年份從第0位開始擷取4位元,月份從第5位開始擷取2位,日期從第8位元開始擷取2位 set YEAR=%date:~0,4%set MONTH=%date:~5,2%set DAY=%date:~8,2%set CURRENT_DATE=%YEAR%-%MONTH%-%DAY%echo %CURRENT_DATE% @echo =========時間按照HH:MM:SS格式顯示========================:: 時間擷取遵從格式 %time:~x,y%,表示從第x位開始,擷取y個長度(x,y的起始值為0):: 時鐘從第0位開始擷取2位,分鐘從第3位開始擷取2位,秒鐘從第6位開始擷取2位 set HOUR=%time:~0,2%set MINUTE=%time:~3,2%set SECOND=%time:~6,2% :: 當時鍾小於等於9時,前面有個空格,這時我們少擷取一位,從第1位開始擷取set TMP_HOUR=%time:~1,1%set NINE=9set ZERO=0:: 處理時鐘是個位數的時候前面補上一個0, LEQ表示小於等於if %HOUR% LEQ %NINE% set HOUR=%ZERO%%TMP_HOUR% set CURRENT_TIME=%HOUR%:%MINUTE%:%SECOND%echo %CURRENT_TIME% @echo =========日期時間按照YYYY-MM-DD HH:MM:SS格式顯示=========set CURRENT_DATE_TIME=%YEAR%-%MONTH%-%DAY% %HOUR%:%MINUTE%:%SECOND%echo %CURRENT_DATE_TIME% @echo =========日期時間按照YYYYMMDD_HHMMSS格式顯示=============set CURRENT_DATE_TIME_STAMP=%YEAR%%MONTH%%DAY%_%HOUR%%MINUTE%%SECOND%echo %CURRENT_DATE_TIME_STAMP%@echo =========================================================pause

執行結果:

3、按照時間建立資料夾指令碼

提供一個按照時間戳建立資料夾的指令碼,這個在檔案備份的時候常常用到

:: 編碼格式 ANSI:: 指令碼建立時最好選擇ANSI編碼(防止中文亂碼):: @echo off 表示不回顯執行的命令@echo off  :: 日期擷取遵從格式 %date:~x,y%,表示從第x位開始,擷取y個長度(x,y的起始值為0):: 年份從第0位開始擷取4位元,月份從第5位開始擷取2位,日期從第8位元開始擷取2位set YEAR=%date:~0,4%set MONTH=%date:~5,2%set DAY=%date:~8,2% :: 時間擷取遵從格式 %time:~x,y%,表示從第x位開始,擷取y個長度(x,y的起始值為0):: 時鐘從第0位開始擷取2位,分鐘從第3位開始擷取2位,秒鐘從第6位開始擷取2位set HOUR=%time:~0,2%set MINUTE=%time:~3,2%set SECOND=%time:~6,2%:: 毫秒set MILLISECIOND=%time:~9,2% :: 當時鍾小於等於9時,前面有個空格,這時我們少擷取一位,從第1位開始擷取set TMP_HOUR=%time:~1,1%set NINE=9set ZERO=0:: 處理時鐘是個位數的時候前面補上一個0, LEQ表示小於等於if %HOUR% LEQ %NINE% set HOUR=%ZERO%%TMP_HOUR% set CURRENT_DATE_TIME_STAMP=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND%%MILLISECIOND%mkdir %CURRENT_DATE_TIME_STAMP%

執行結果:

到此這篇關於Windows環境bat指令碼獲取檔案的建立時間的文章就介紹到這了,更多相關bat獲取檔案建立時間內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com