欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

教你如何利用bat腳本批量?重命名/復(fù)制?文件

 更新時間:2022年12月29日 17:14:56   作者:丟你劉某  
這篇文章主要介紹了如何利用bat腳本批量重命名/復(fù)制文件,其實與其重命名文件,大家也可以考慮用復(fù)制文件辦法,這樣就不用考慮重命名時候的溢出問題,下面給出文件復(fù)制的辦法,需要的朋友可以參考下

在平時運維的時候,最繁瑣的就是要每個月寫運維記錄的文檔如excel表格,一個月30日要產(chǎn)生30個文件,拷30個運維記錄文檔的模版再進(jìn)行重命名實在太麻煩了,所以想到copy模版之后可以用腳本來對文件進(jìn)行重命名自己想要的效果,首先給出效果圖

下面給出腳本

@echo off
set /p m=請輸入月份如:5(m):
set a=0
setlocal EnableDelayedExpansion
dir /b .\*.xls | find /c /v "" >> .\tmp.txt
set /p c=<.\tmp.txt
del /a /f /q .\tmp.txt 

for %%i in (*.xls) do (
set /a a+=1
if !a! gtr %c% (goto aa)
echo !a!
echo %%i 
ren "%%i" "日常運維檢查記錄2018-%m%-!a!.xls"
)
:aa
pause

腳本解釋:

dir /b下面接上find命令來統(tǒng)計當(dāng)前目錄下的xls格式的文件數(shù),這里假設(shè)我運維記錄的文件使xls格式的,然后把統(tǒng)計的文件數(shù)寫入txt文件中,例如有5個xls文件就會把5寫入,然后從這個txt中讀出這個數(shù)字賦值給c變量,再把這個txt文件刪除

后面的for循環(huán)就是重命名文件了,這里注意有一點,為什么我在for循環(huán)中要加個條件語句呢?這個條件語句的意思是一旦a變量(這里a代表著文件重命名中的文件名天數(shù)的后綴名,由1開始計數(shù),直到達(dá)到文件夾中重命名的xls文件數(shù)為止)大于c變量(統(tǒng)計的用于重命名xls文件數(shù)),就會終止這個循環(huán)并且跳出到aa,這里發(fā)現(xiàn)在重命名文件的時候會循環(huán)會溢出多一次,也就是假設(shè)原來有5個xls文件要重命名,在用這個循環(huán)重命名的時候如果不加這個if語句來防止溢出,就會重命名了6次,從而把第一個重命名的文件再次重命名,這里給出圖給大家看一下就知道了

這里加入有5個3月份的運維檢查記錄文件

假如我在代碼中把if語句屏蔽了

然后執(zhí)行腳本,把這5個文件重命名成4月份的運維檢查記錄文件

發(fā)現(xiàn)循環(huán)執(zhí)行了6次,并且看到最后一次重命名把第一個重命名的文件4-1給替換調(diào)了4-6

經(jīng)過上面的解釋,大家應(yīng)該有個理解了把!

在代碼中我這里規(guī)定了重命名的文件后綴的年份是2018年,這里大家可以模仿月份的輸入set /p來加上一個年份的輸入,引用變量就可以重命名自己想要的年份后綴名,下面說下這個重命名腳本的使用規(guī)則,注意將腳本文件先保存成ansi編碼的格式再在里面編輯含有中文的代碼,不然重命名或者執(zhí)行腳本的時候會報錯喔

重命名文件.bat
1新建月份文件夾如:4月
2關(guān)閉360等軟件
3復(fù)制運維記錄的文件到月份文件夾下
4把腳本放在月份文件夾下執(zhí)行

就可以看到當(dāng)前文件夾下會有我們重命名的文件名字了

其實與其重命名文件,大家也可以考慮用復(fù)制文件辦法,這樣就不用考慮重命名時候的溢出問題,下面給出文件復(fù)制的辦法

@echo off
set /p year=請輸入年份如:2018(year):
set /p month=請輸入月份如:4(month):
set /p day=請輸入這個月的天數(shù)如:30(day):
if %day%==31 (
for /l %%d in (1,1,%day%) do copy .\module.xls .\日常運維檢查記錄%year%-%month%-%%d.xls
goto aa)
if %day%==30 (
for /l %%d in (1,1,%day%) do copy .\module.xls .\日常運維檢查記錄%year%-%month%-%%d.xls 
goto aa)
if %day%==29 (
for /l %%d in (1,1,%day%) do copy .\module.xls .\日常運維檢查記錄%year%-%month%-%%d.xls
goto aa)
if %day%==28 (
for /l %%d in (1,1,%day%) do copy .\module.xls .\日常運維檢查記錄%year%-%month%-%%d.xls 
goto aa)
if %day%==27 (
for /l %%d in (1,1,%day%) do copy .\module.xls .\日常運維檢查記錄%year%-%month%-%%d.xls 
goto aa)
if %day%==26 (
for /l %%d in (1,1,%day%) do copy .\module.xls .\日常運維檢查記錄%year%-%month%-%%d.xls 
goto aa)

echo "輸入的天數(shù)不符合規(guī)則!"

:aa
pause
exit 

代碼比較簡單,這里我規(guī)定了要把module.xls這個運維記錄的模版文件放在當(dāng)前新建的月份文件夾下,然后通過復(fù)制這個文件來生成對應(yīng)天數(shù)的運維檢查記錄文件,這里我規(guī)定了天數(shù)26-31天,同樣要注意的是腳本的編碼要是ansi編碼

下面給出操作方法和效果圖

批量復(fù)制文件.bat
1新建月份文件夾如:4月
2將模版文件更名為module.xls放在月份文件夾下

3把腳本放在月份文件夾下面執(zhí)行腳本輸入?yún)?shù)

到此這篇關(guān)于教你如何利用bat腳本批量 重命名/復(fù)制 文件的文章就介紹到這了,更多相關(guān)bat腳本批量 重命名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論