BAT獲取時(shí)間有空格問(wèn)題的解決方法
最近在項(xiàng)目上需要把文件定時(shí)備份,用BAT文件來(lái)自動(dòng)生成文件夾名,精確到秒:
bat腳本時(shí)間設(shè)定如下:
pushd E:\Test set T=%date:~0,10%-%time:~0,2%%time:~3,2%%time:~6,2% md %T% popd
time變量值如下的各個(gè)操作的意義如下:
%time:~0,2% 表示從左向右指針向右偏0位,然后從指針偏移到的位置開始提取2位字符,結(jié)果是小時(shí)字段數(shù)值
%time:~3,2% 表示指針從左向右偏移3位,然后從偏移處開始提取2位字符,結(jié)果是分鐘字段數(shù)值
%time:~6,2% 表示指針從左向右偏移6位,然后從偏移處開始提取2位字符,結(jié)果是秒字段數(shù)值
用%time:~0,2%%time:~3,2%%time:~6,2%時(shí)有個(gè)問(wèn)題, 就是如果TIME 是08點(diǎn)的時(shí)候,電腦顯示的是08,但是實(shí)際上用%time:~0,2%抓取的時(shí)候就會(huì)有問(wèn)題,因?yàn)閷?shí)際上抓到到時(shí)空格+8,這樣在用md創(chuàng)建文件夾的時(shí)候,因?yàn)門中有空格,會(huì)創(chuàng)建2個(gè)文件夾:
比如現(xiàn)在時(shí)間是2019-08-23, 08:30:30;
T = 20190823- 83030
md %T%會(huì)創(chuàng)建2個(gè)文件夾:20190823-和83030這樣2個(gè)文件夾。
解決辦法:
把小時(shí)單獨(dú)定義h,然后把h中空格用0代替,再把h加入到T中:
set h=% =0% -> 這里的‘='就是‘替換'的含意
pushd E:\Test set h=%time~0,2% set h=% =0% set T=%date:~0,10%-%h%%time:~3,2%%time:~6,2% md %T% popd
到此這篇關(guān)于BAT獲取時(shí)間有空格問(wèn)題的解決方法的文章就介紹到這了,更多相關(guān)BAT時(shí)間空格問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
sqlserver數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)關(guān)閉的批處理
用批處理實(shí)現(xiàn)sqlserver服務(wù)的開啟與關(guān)閉,下面的代碼,如果您的sqlserver運(yùn)行的服務(wù)較多的情況下,是不能實(shí)現(xiàn),需要加更多的代碼。2011-03-03
關(guān)閉所有分區(qū)自動(dòng)播放和恢復(fù)所有分區(qū)自動(dòng)播放的cmd批處理
關(guān)閉所有分區(qū)自動(dòng)播放和恢復(fù)所有分區(qū)自動(dòng)播放.cmd批處理,需要的朋友可以參考下2012-07-07
DOS批處理高級(jí)教程 第二章 DOS循環(huán)for命令詳解
批處理 bat中的for命令的作用,非常的不錯(cuò),可以節(jié)省很多效率,它可以讀取文章的沒(méi)一行,循環(huán)執(zhí)行ping命令,探索端口,學(xué)習(xí)批處理如果不學(xué)習(xí)for將是個(gè)遺憾,希望大家多看看for 命令的實(shí)際應(yīng)用的例子2016-09-09
批處理刪除使用所有Windows Update功能的訪問(wèn)[圖文+bat]
刪除使用所有 Windows Update 功能的訪問(wèn)2008-10-10
利用批處理BAT生成隨機(jī)數(shù)實(shí)現(xiàn)隨機(jī)網(wǎng)站內(nèi)容
今天想用批處理(BAT)的方式隨機(jī)打開網(wǎng)站某頁(yè)面,基目的是刷網(wǎng)站的PV2013-05-05

