本帖最后由 xczxczxcz 于 2019-6-19 17:22 编辑
回复 31# netdzb
一、肯定不能运行。
二、不会处理子目录。
再给你写个 带子目录的。用法同前。若嫌目录太长,可把工作文件夹放到磁盘根目录。这样简单,不需要过多处理。
下面的脚本不处理:当有一个文件大于设定值时,会无限循环。所以假设你的每一个文件都不会超过设定的值。- $files =ls -rec |?{$_.Directory};
- $Size = 19.5; #自定义大小,
- $index, $n =0,1;
- While ( $index -lt $files.Count )
- {
- $name =$n.ToString().PadLeft(3,'0')+'.rar';
- & rar a $name $files[$index].FullName|Out-Null;
- if ((Get-Item $name).Length/1MB -gt $Size) {
- $del =$files[$index].FullName -replace '^\w:\\';
- & rar d $name $del | Out-Null;
- $n++;
- } else { $index++ }
- }
复制代码
|