bat根據(jù)當(dāng)前日期創(chuàng)建文件夾的方法
為了不等路也能復(fù)制copy,所以編輯博客的時(shí)候這個(gè)沒有放到代碼塊里,也黏貼下
:: 設(shè)置CMD顯示的編碼格式為UTF-8(防止中文亂碼)
chcp 65001
:: @echo off 表示不回顯執(zhí)行的命令
@echo off
::一定要看下當(dāng)前日期的格式,不同的windows系統(tǒng),打印的當(dāng)前時(shí)間格式可能不一樣(這樣的年月日截取的開始位置就不一樣),防止被坑
set ORIGINAL_DATE=%date%
echo %ORIGINAL_DATE%
:: 日期截取遵從格式 %date:~x,y%,表示從第x位開始,截取y個(gè)長(zhǎng)度(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%
:: 時(shí)間截取遵從格式 %time:~x,y%,表示從第x位開始,截取y個(gè)長(zhǎng)度(x,y的起始值為0)
:: 時(shí)鐘從第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)時(shí)鐘小于等于9時(shí),前面有個(gè)空格,這時(shí)我們少截取一位,從第1位開始截取
set TMP_HOUR=%time:~1,1%
set NINE=9
set ZERO=0
:: 處理時(shí)鐘是個(gè)位數(shù)的時(shí)候前面補(bǔ)上一個(gè)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)前時(shí)間格式可能不一樣(這樣的年月日截取的開始位置就不一樣),防止被坑 set ORIGINAL_DATE=%date% echo %ORIGINAL_DATE% :: 日期截取遵從格式 %date:~x,y%,表示從第x位開始,截取y個(gè)長(zhǎng)度(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% :: 時(shí)間截取遵從格式 %time:~x,y%,表示從第x位開始,截取y個(gè)長(zhǎng)度(x,y的起始值為0) :: 時(shí)鐘從第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)時(shí)鐘小于等于9時(shí),前面有個(gè)空格,這時(shí)我們少截取一位,從第1位開始截取 set TMP_HOUR=%time:~1,1% set NINE=9 set ZERO=0 :: 處理時(shí)鐘是個(gè)位數(shù)的時(shí)候前面補(bǔ)上一個(gè)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)前時(shí)間生成文件名稱
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)前時(shí)間獲取,時(shí)分秒串 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 把時(shí)間串中的:替換為0 set "hhmiss=%hhmiss::=0%" rem 把時(shí)間串中的空格替換為0 set "hhmiss=%hhmiss: =0%" rem 根據(jù)日期時(shí)間生成文件名稱,中間以HH區(qū)分日期和時(shí)間部分 set "filename=%YYYYmmdd%HH%hhmiss%.rar" echo %filename% pause?
echo 根據(jù)當(dāng)前日期時(shí)間,生成文件名稱,...... 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)建時(shí)間_詳解Windows下獲取時(shí)間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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
批處理實(shí)現(xiàn)的五子棋人機(jī)對(duì)戰(zhàn)游戲
這個(gè)批處理花了我兩天時(shí)間,所以打上了原創(chuàng)。我還在批處理之家發(fā)表有這個(gè)批處理,若還有與其它貼子雷同,純屬巧合2012-03-03
命令行下一種新的添加帳號(hào)的方法(Shell.Users)
用戶控制面板文件nusrmgr.cpl,發(fā)現(xiàn)調(diào)用的是Shell.Users來加用戶,它還同時(shí)調(diào)用了 wscript.shell、Shell.Application、Shell.LocalMachine這三個(gè)組件。2010-09-09
文本最末列數(shù)值乘一個(gè)數(shù)的批處理實(shí)現(xiàn)
只是對(duì)最末列的數(shù)值進(jìn)行運(yùn)算操作,其他不變。2010-10-10
可以實(shí)現(xiàn)系統(tǒng)自動(dòng)關(guān)機(jī)的批處理
可以實(shí)現(xiàn)系統(tǒng)自動(dòng)關(guān)機(jī)的批處理...2007-05-05

