Powershell小技巧--將文件夾中的大文件分成若干份
朋友有一文件夾,全部是EML文件,約20G。他需要把這20G文件按每個文件夾2G分成10個。于是乎寫了以下腳本:
#目標(biāo)文件夾 $scrfile = "d:\test" #起始目錄名 $directory = 0 #1825361100 #76547428 #判斷當(dāng)目錄的文件數(shù)大于0時while循環(huán)為真 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移動文件到新目錄,記錄大小,當(dāng)大小達(dá)到指定大小,跳出管道. 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個目錄。
相關(guān)文章
Powershell小技巧之通過EventLog查看近期電腦開機(jī)和關(guān)機(jī)時間
本文主要講訴了使用PowerShell如何得出電腦的開機(jī)、關(guān)機(jī)、在線時間等等信息,非常有幫助,有需要的朋友參考下2014-09-09Powershell中請求WebServices并以JSON格式輸出結(jié)果
這篇文章主要介紹了Powershell中請求WebServices并以JSON格式輸出結(jié)果,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-03-03Powershell小技巧之系統(tǒng)運(yùn)行時間
本文主要教你如何使用powershell計算系統(tǒng)運(yùn)行時間,其實很簡單,因為Windows每次啟動都有一個高進(jìn)度計數(shù)器并且當(dāng)系統(tǒng)運(yùn)行這個計數(shù)器將返回一個毫秒,我們把這個毫秒計算下就得到系統(tǒng)運(yùn)行時間了2014-09-09PowerShell中刪除空格、點號、減號和換行方法代碼實例
這篇文章主要介紹了PowerShell中刪除空格、點號、減號和換行方法代碼實例,本文直接給出實例代碼,需要的朋友可以參考下2015-05-05PowerShell Contains函數(shù)查找字符串實例
這篇文章主要介紹了PowerShell Contains函數(shù)查找字符串實例,Contains函數(shù)的作用是查詢一個字符串中是否存在另一個字符串,需要的朋友可以參考下2014-08-08Powershell小技巧之創(chuàng)建短網(wǎng)址
短網(wǎng)址服務(wù),可能很多朋友都已經(jīng)不再陌生,特別是在微博應(yīng)用中十分普遍,比如,當(dāng)我們在騰訊、新浪微博發(fā)微博時有時發(fā)很長的網(wǎng)址連接,但由于微博只限制140個字,所以微博就自動把您發(fā)的長網(wǎng)址給轉(zhuǎn)換成短網(wǎng)址了。今天我們來探討下,如何用powershell來便捷的使用短網(wǎng)址2014-10-10PowerShell腳本中控制Windows DNS服務(wù)的方法
這篇文章主要介紹了PowerShell腳本中控制Windows DNS服務(wù)的方法,本文給出了相關(guān)例子和命令,需要的朋友可以參考下2014-08-08