如何查找多个文件夹中每个文件的文件大小?

How to find File Size of each File present in Multiple Folders?

我有 1000 多个文件夹,每个文件夹都有一个 excel 文件。我想找到用于此目的的每个 excel file.Which Powershell 命令的文件大小。我是 Powershell 的新手。

一般来说,在这种情况下您应该使用的主要命令是Get-ChildItem(别名为gcidir)。这是一个简单的例子:

Get-ChildItem -Path *.xlsx | Format-Table Length,Name

此示例将显示一个 table,其中包含当前目录中带有 *.xlsx 的所有文件。您使用 Format-Table cmdlet 格式化输出。您还可以将 -Recurse 选项添加到 gci 以使命令 ehm 递归到子目录。

以下代码将遍历父文件夹中的所有文件夹(如此递归)并搜索具有 XLS 或 XLSX 扩展名的所有文件。 然后它会获取名称和大小:

gci -Path c:\myfolder -Recurse | where {$_.Extension -like '.xls*'} | 
Select FullName,  @{n='Size in KB';e={[int]($_.length / 1kb)}} -First 50

50 个文档后停止。您可以删除 -first 50 以搜索所有文件。

公平地说,正是这些练习会让您学习 Powershell。您本可以通过一些奉献和耐心自己找到它。不要苛刻什么的。

Snakedoc 解决方案的变体(性能更好 - 最低适用于 PowerShell 3)

gci "C:\Temp" -file -filter "*.xls*" -Recurse |
    Select FullName,  @{n='Size';e={[int]($_.length / 1kb)}} -First 50