應(yīng)用腳本快速移動(dòng)過(guò)大文件夾中的文件
? ? ? ? Windows操作系統(tǒng)給我們帶來(lái)了操作的方便,同時(shí)也不可避免的拉低了其處理速度。我是一個(gè)運(yùn)維老司機(jī),在工作中經(jīng)常性會(huì)遇見某個(gè)文件夾下面存儲(chǔ)了過(guò)多(一兩百萬(wàn)xml報(bào)文數(shù)據(jù))的情況。
? ? ?? 一旦遇見這種情況,文件夾中的數(shù)據(jù),無(wú)法被消費(fèi)程序消費(fèi),文件夾無(wú)法打開,甚至無(wú)法統(tǒng)計(jì)其一共有多少單量,這時(shí)用cmd命令來(lái)操作文件夾中的數(shù)據(jù),便成了必要。
? ? ?? 與其他人用命令來(lái)解決問(wèn)題相較,我比較喜歡用bat腳本來(lái)解決問(wèn)題,今天向大家分享一個(gè)移動(dòng)文件的腳本,實(shí)現(xiàn)功能,可以從一個(gè)文件里把一定數(shù)量的報(bào)文移動(dòng)到另外一個(gè)文件里。
首先創(chuàng)建一個(gè)mv.bat文件(創(chuàng)建方法很簡(jiǎn)單,先新建一個(gè)txt文件,然后把名字與擴(kuò)展名改成上述名字即可。)?? ? ?
?腳本內(nèi)容如下:
@echo off
setlocal enabledelayedexpansion
echo "命令格式: mv.bat 數(shù)量 輸入目錄名 輸出目錄名"
echo.
echo.
set count=0
set source=%cd%\%2
set ext=%cd%\%3
set mod=0
if "%ext%"=="%cd%\" (
?goto end
)
if not exist %ext% (
?md %ext%
)
if exist %source%\.camel (
?move %source%\.camel .\camel
)
for /R %source% %%f in (*.xml) do (
rem 完整路徑文件名
echo %%f
rem 文件名
rem echo %%~nf
rem 文件擴(kuò)展名
rem echo %%~xf
move %%f %ext%
set /a count=!count!+1
set /a mod=!count!%%10
if "!mod!"=="0" (
?set /a mod=!count!*100/%1
?echo 已完成:!count!個(gè)文件,總數(shù):%1個(gè)文件,占比:!mod!%%
)
if "%1"=="!count!" (
?goto end
?rem pause
?rem exit
)
)
:end
endlocal
執(zhí)行效果如下:
