2016-04-14 32 views
1

我是PowerShell的新手,无法找到某些类型的文件(.doc,.docx,.xls,.xlsx),输出文件名和大小(在按文件扩展名分组)到文本文件,并且还包括每个文件扩展名的总数量文件和总文件大小。使用PowerShell搜索.docx,.xls文件的计算机

是我到目前为止的代码是:

$Report_File_Destination = "C:\Users\StayPositibve\Desktop\testing20.txt" 

$path = ".\*" 

Get-ChildItem $path -Include *.doc, *.docx, *.xls, *.xlsx -Recurse | Group-Object Extension -NoElement | Out-File $Report_File_Destination -Append 

我每次运行此代码,我收到一个Get-ChildItem访问被拒绝(我运行PowerShell中以管理员身份)。我究竟做错了什么?谢谢你的帮助!

回答

0

这是由于它存在一些您不允许浏览的路径。您可以尝试使用Get-ChildItem的-ErrorAction Ignore -Force选项来忽略这些错误或强制访问用户无法访问的文件,例如隐藏文件或系统文件。在旧版本的PowerShell中,您可以测试-ErrorAction SilentlyContinue

Get-ChildItem $path -Include *.doc, *.docx, *.xls, *.xlsx -Recurse -ErrorAction Ignore -Force 
+0

谢谢@JPBlanc帮忙。我试图添加-ErrorAction Ignore -Force选项;但是我仍然收到错误代码。我注意到的另一件事是,使用|时Group-Object Extension,它不会将找到的文件复制到我的txt文件“testing20.txt”中,而是在txt文件内部是空白的。对不起,没有正确使用正确的代码编辑,第一次使用stackoverflow,并不知道如何使代码看起来像你的。 –

+0

如果您使用旧版本的PowerShell,请尝试-ErrorAction默默继续 – JPBlanc

+0

-NoElement解释您丢失文件的事实。 – JPBlanc