bat根據當前日期創(chuàng)建文件夾的方法
為了不等路也能復制copy,所以編輯博客的時候這個沒有放到代碼塊里,也黏貼下
:: 設置CMD顯示的編碼格式為UTF-8(防止中文亂碼)
chcp 65001
:: @echo off 表示不回顯執(zhí)行的命令
@echo off
::一定要看下當前日期的格式,不同的windows系統(tǒng),打印的當前時間格式可能不一樣(這樣的年月日截取的開始位置就不一樣),防止被坑
set ORIGINAL_DATE=%date%
echo %ORIGINAL_DATE%
:: 日期截取遵從格式 %date:~x,y%,表示從第x位開始,截取y個長度(x,y的起始值為0)
:: 可以看到打印出來的當前日期ORIGINAL_DATE:周一 2022/03/21
:: 年份從第3位開始截取4位,月份從第5位開始截取2位,日期從第8位開始截取2位
set YEAR=%date:~3,4%
set MONTH=%date:~8,2%
set DAY=%date:~11,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=9
set ZERO=0
:: 處理時鐘是個位數的時候前面補上一個0, LEQ表示小于等于
:: if 和 set 一定要在同一行
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%
pause
:: 設置CMD顯示的編碼格式為UTF-8(防止中文亂碼) chcp 65001 :: @echo off 表示不回顯執(zhí)行的命令 @echo off ::一定要看下當前日期的格式,不同的windows系統(tǒng),打印的當前時間格式可能不一樣(這樣的年月日截取的開始位置就不一樣),防止被坑 set ORIGINAL_DATE=%date% echo %ORIGINAL_DATE% :: 日期截取遵從格式 %date:~x,y%,表示從第x位開始,截取y個長度(x,y的起始值為0) :: 可以看到打印出來的當前日期ORIGINAL_DATE:周一 2022/03/21 :: 年份從第3位開始截取4位,月份從第5位開始截取2位,日期從第8位開始截取2位 set YEAR=%date:~3,4% set MONTH=%date:~8,2% set DAY=%date:~11,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=9 set ZERO=0 :: 處理時鐘是個位數的時候前面補上一個0, LEQ表示小于等于 :: if 和 set 一定要在同一行 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% pause
補充:bat根據當前時間生成文件名稱
rem 根據當前日期獲取,年月日串 set yyyy=%date:~,4% set mm=%date:~5,2% set day=%date:~8,2%? set "YYYYmmdd=%yyyy%%mm%%day%" rem 把年月日串中的空格替換為0 set "YYYYmmdd=%YYYYmmdd: =0%" echo "YYYYmmdd%YYYYmmdd%YYYYmmdd" rem 根據當前時間獲取,時分秒串 set hh=%time:~0,2% set mi=%time:~3,2% set ss=%time:~6,2%? set "hhmiss=%hh%%mi%%ss%" set "hhmiss=%hhmiss: =0%" echo "hhmiss%Time%hhmiss" echo %hhmiss% rem 把時間串中的:替換為0 set "hhmiss=%hhmiss::=0%" rem 把時間串中的空格替換為0 set "hhmiss=%hhmiss: =0%" rem 根據日期時間生成文件名稱,中間以HH區(qū)分日期和時間部分 set "filename=%YYYYmmdd%HH%hhmiss%.rar" echo %filename% pause?
echo 根據當前日期時間,生成文件名稱,...... set YYYYmmdd=%date:~0,4%%date:~5,2%%date:~8,2% set hhmiss=%time:~0,2%%time:~3,2%%time:~6,2% set "filename=WebSite3copy%YYYYmmdd%_%hhmiss%.zip" echo %filename%
參考
bat 獲取文件的創(chuàng)建時間_詳解Windows下獲取時間bat腳本總結,值得收藏
用BAT創(chuàng)建文件夾,創(chuàng)建文件,回顯環(huán)境變量
到此這篇關于bat根據當前日期創(chuàng)建文件夾的文章就介紹到這了,更多相關bat根據日期創(chuàng)建文件夾內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!