bat根據(jù)當(dāng)前日期創(chuàng)建文件夾的方法
為了不等路也能復(fù)制copy,所以編輯博客的時候這個沒有放到代碼塊里,也黏貼下
:: 設(shè)置CMD顯示的編碼格式為UTF-8(防止中文亂碼)
chcp 65001
:: @echo off 表示不回顯執(zhí)行的命令
@echo off
::一定要看下當(dāng)前日期的格式,不同的windows系統(tǒng),打印的當(dāng)前時間格式可能不一樣(這樣的年月日截取的開始位置就不一樣),防止被坑
set ORIGINAL_DATE=%date%
echo %ORIGINAL_DATE%
:: 日期截取遵從格式 %date:~x,y%,表示從第x位開始,截取y個長度(x,y的起始值為0)
:: 可以看到打印出來的當(dāng)前日期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%
:: 當(dāng)時鐘小于等于9時,前面有個空格,這時我們少截取一位,從第1位開始截取
set TMP_HOUR=%time:~1,1%
set NINE=9
set ZERO=0
:: 處理時鐘是個位數(shù)的時候前面補(bǔ)上一個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
:: 設(shè)置CMD顯示的編碼格式為UTF-8(防止中文亂碼) chcp 65001 :: @echo off 表示不回顯執(zhí)行的命令 @echo off ::一定要看下當(dāng)前日期的格式,不同的windows系統(tǒng),打印的當(dāng)前時間格式可能不一樣(這樣的年月日截取的開始位置就不一樣),防止被坑 set ORIGINAL_DATE=%date% echo %ORIGINAL_DATE% :: 日期截取遵從格式 %date:~x,y%,表示從第x位開始,截取y個長度(x,y的起始值為0) :: 可以看到打印出來的當(dāng)前日期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% :: 當(dāng)時鐘小于等于9時,前面有個空格,這時我們少截取一位,從第1位開始截取 set TMP_HOUR=%time:~1,1% set NINE=9 set ZERO=0 :: 處理時鐘是個位數(shù)的時候前面補(bǔ)上一個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
補(bǔ)充:bat根據(jù)當(dāng)前時間生成文件名稱
rem 根據(jù)當(dāng)前日期獲取,年月日串 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 根據(jù)當(dāng)前時間獲取,時分秒串 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 根據(jù)日期時間生成文件名稱,中間以HH區(qū)分日期和時間部分 set "filename=%YYYYmmdd%HH%hhmiss%.rar" echo %filename% pause?
echo 根據(jù)當(dāng)前日期時間,生成文件名稱,...... 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腳本總結(jié),值得收藏
用BAT創(chuàng)建文件夾,創(chuàng)建文件,回顯環(huán)境變量
到此這篇關(guān)于bat根據(jù)當(dāng)前日期創(chuàng)建文件夾的文章就介紹到這了,更多相關(guān)bat根據(jù)日期創(chuàng)建文件夾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SendTo增強(qiáng)版 批處理實(shí)用小工具
因為個人原因有些時間沒能來論壇了,辛苦 3742668 兄管理版面;又看到 willsort 兄暫時隱退的消息,挺懷念一起討論的日子;同時祝賀 namejm 加入版主隊伍。作為版主我覺得自己并不盡職。我將原先做的小東西整理細(xì)化了一下,作為國慶的小禮物送給大家。具體介紹可看下面的幫助文件。2008-04-04bat實(shí)現(xiàn)的模仿黑客帝國里面的數(shù)碼雨
bat下實(shí)現(xiàn)的模擬黑客帝國的雨播放效果代碼2008-06-06