Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何查找多个文件夹中每个文件的文件大小?_Powershell_Filesize - Fatal编程技术网

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

Powershell 如何查找多个文件夹中每个文件的文件大小?,powershell,filesize,Powershell,Filesize,我有1000多个文件夹,每个文件夹都有一个excel文件。我想找到每个excel文件的文件大小。要使用哪些Powershell命令来执行此操作。我不熟悉Powershell。一般来说,在这种情况下应该使用的主命令是(别名为gci或dir)。下面是一个简单的例子: Get ChildItem-Path*.xlsx |格式化表格长度、名称 此示例将显示一个表,其中包含当前目录中所有带有*.xlsx的文件。您可以使用format Tablecmdlet格式化输出。您还可以将-Recurse选项添加到g

我有1000多个文件夹,每个文件夹都有一个excel文件。我想找到每个excel文件的文件大小。要使用哪些Powershell命令来执行此操作。我不熟悉Powershell。

一般来说,在这种情况下应该使用的主命令是(别名为
gci
dir
)。下面是一个简单的例子:

Get ChildItem-Path*.xlsx |格式化表格长度、名称


此示例将显示一个表,其中包含当前目录中所有带有*.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个文档之后停止。您可以删除-前50个以搜索所有文件


公平地说,正是这些练习让你学习Powershell。你可以用一些奉献精神和耐心来发现这一点。不要太苛刻。

Snakedoc解决方案的变体(性能更好-至少在PowerShell 3上工作)


您询问的是PowerShell中最基本的任务之一。因此,我建议您从阅读文档开始。PowerShell有一些不错的参考文档。更重要的是,有一些关于PowerShell的非常好的免费和付费书籍。我不会发布这样的例子。看起来这是OP的家庭作业。让他阅读文档,学习PowerShell。是的,我刚刚把它添加到我的帖子中。但这很公平。如果他们问代码是做什么的,他是怎么做到的,很难解释。谢谢你们。是的,我已经开始阅读书籍和在线资料。我只需要知道如何开始。有了上面的答案,我现在至少可以试着找到这些命令的用法。再次感谢这是我根据您的输入编写的,我得到了我的结果:).Get ChildItem-Path D:\Userdata.*-Include Report*.xls*-Recurse | Select Name,@{n='Size in KB';e={[int]($..length/1kb)}}导出Csv-Path D:\result\result.Csv
gci "C:\Temp" -file -filter "*.xls*" -Recurse |
    Select FullName,  @{n='Size';e={[int]($_.length / 1kb)}} -First 50