我正在遍历一个充满文件的目录,并且需要获取目录中所有文件的总数。但是,由于我获取/计算千字节的方式,我遇到了转换问题。如何总共几个文件的千字节
这里是我的代码:
$destinationDir = "\\server\folder"
$filename = "FILE_1234567.xls"
$filesize = 0
$totalfilesize = 0
$filesize = Get-ChildItem ($destinationDir + "\" + $filename) | Select-Object @{Name="Kbytes";Expression={"{0:N0}" -f ($_.Length/1Kb)}}
$totalfilesize += [int]($filesize)
Write-Host $filesize
Write-Host $totalfilesize
然而,当我运行此我得到以下错误信息:
Cannot convert the "@{Kbytes=93}" value of type "Selected.System.IO.FileInfo" to type "System.Int32".
At C:\Sample.ps1:7 char:18
+ $totalfilesize += <<<< $filesize
+ CategoryInfo : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
我很新的PowerShell的,但好像我不能投$filesize
以一个整数作为总和。任何人都可以帮助我出错的地方吗?
谢谢!使用这个$ totalfilesize + = $ filesize.Kbytes正是我需要的。我只在每个目录中总计某些文件,所以'ForEach-Object'选项将不起作用。感谢帮助! – ProfessionalAmateur 2011-01-11 18:35:45