Powershell 复制文件,直到超过指定的大小
我需要将文件复制到文件夹中,直到它们超过指定的大小。我已经编写了以下脚本,但由于以下错误而失败: 无法比较“Microsoft.PowerShell.Commands.GenericMeasureInfo”,因为它不可IComparable。 在C:\33.ps1:8字符:1 +“{0:N2}”-f($colItems.sum/1024MB)Powershell 复制文件,直到超过指定的大小,powershell,filesize,get-childitem,Powershell,Filesize,Get Childitem,我需要将文件复制到文件夹中,直到它们超过指定的大小。我已经编写了以下脚本,但由于以下错误而失败: 无法比较“Microsoft.PowerShell.Commands.GenericMeasureInfo”,因为它不可IComparable。 在C:\33.ps1:8字符:1 +“{0:N2}”-f($colItems.sum/1024MB) 我做错了什么?在第一个do循环之后,将验证while条件。由于您已经枚举了所有文件,因此脚本将复制所有文件 如果达到限制,可以省略do while循环并中
我做错了什么?在第一个do循环之后,将验证while条件。由于您已经枚举了所有文件,因此脚本将复制所有文件 如果达到限制,可以省略do while循环并中断foreach:
$files=Get ChildItem C:\source-Recurse |%{$\u.FullName}
$sum=0
$sizeLimitInGB=10
foreach($files中的文件)
{
$colItems=(Get ChildItem d:\target-recurse | Measure Object-property length-sum)
如果($colItems.sum/1GB)-gt$sizeLimitInGB)
{
达到极限。
}
复制项$file-递归D:\target
}
$files = Get-ChildItem C:\source -Recurse | % { $_.FullName }
foreach($file in $files) {
do {
Copy-Item $file -Recurse D:\target
$colItems = (Get-ChildItem d:\target -recurse | `
Measure-Object -property length -sum)
"{0:N2}" -f ($colItems.sum / 1024MB)
}
while ($colItems -le 10)
}