深刻懂得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個目次。