Powershell小技巧--将文件夹中的大文件分成若干份
2014-09-24 15:35
866 查看
朋友有一文件夹,全部是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个目录。
您可能感兴趣的文章:
相关文章推荐
- 小技巧: 列出文件夹下 文件 & 夹 permission
- [11月31日的脚本] 从文件/文件夹的访问控制列表(ACL)移除孤立的SID (PowerShell)
- 【小技巧】Eclipse 中创建Maven项目后没有WEB-INF文件夹以及web.xml文件
- Powershell小技巧之从文件获取系统日志
- Powershell小技巧之轻松从网上下载文件
- [小技巧]使用ShellExecute在打开文件夹的同时选中文件
- powershell 删除一个文件或文件夹
- git小技巧--如何从其他分支merge个别文件或文件夹
- PowerShell: 如何获取和修改文件或文件夹的访问权限
- iOS小技巧 - 获取指定文件夹下的所有相对路径(包括子文件夹路径),并实现指定文件夹下的所有文件的全部移动
- 用 PowerShell 删除过期文件夹和文件
- PowerShell遍历文件夹下的子文件夹和文件
- Bash小技巧:让chmod只修改某个目录下文件夹或者文件的权限
- 【Powershell】【文件管理】获取文件夹大小和排序 层级关系\大小\名称
- PowerShell遍历文件、文件夹的方法
- PowerShell小技巧之实现文件下载(类wget)
- git小技巧--如何从其他分支merge个别文件或文件夹
- powershell处理文件和文件夹
- Powershell管理系列(二十一)PowerShell操作之不同文件夹内文件合并