深刻懂得Hibernate中的flush機制。本站提示廣大學習愛好者:(深刻懂得Hibernate中的flush機制)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻懂得Hibernate中的flush機制正文
同伙有一文件夾,全體是EML文件,約20G。他須要把這20G文件按每一個文件夾2G分紅10個。因而乎寫了以下劇本:
#目的文件夾
$scrfile = "d:\test"
#肇端目次名
$directory = 0
#1825361100
#76547428
#斷定當目次的文件數年夜於0時while輪回為真
while( (dir -Path $scrfile -Filter *.eml ).count -gt 0)
{
#肇端目次名為1
$directory++
#樹立目次
New-Item -Path "d:\$directory" -ItemType Directory -ErrorAction Stop
#累加年夜小變量
$length = 0
#dir合營where-object挪動文件到新目次,記載年夜小,當年夜小到達指定年夜小,跳出管道.
dir -Path $scrfile -Filter *.eml |Where-Object{
$objName = $_.Name
$_.moveto("d:\$directory\$objName")
$length += $_.length
if($length -gt 1825361100)
{
continue
}
}
}
留意dir在這裡最好用where-object,而不要用foreach。
如許一來,同伙約4W份的EML郵件文件夾,剎時在2秒鐘分紅了10個目次。