本帖最后由 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++ } | | }COPY |
|