使用get-childitem获取文件列表的最有效方法是什么

时间:2019-01-04 23:54:28

标签: powershell-v4.0

我已经创建了一个PowerShell命令列表,用于获取超过500,000行目录。目的是获取在PowerShell命令中指定的每个目录中的文件列表。如果我运行小批量,我的语法可以完美地工作,但是以批量方式运行它们时肯定存在性能问题。我注意到的一件事是,如果我同时运行所有这500,000行,则会获得极高的使用率(大约12GB,并使用97%的内存),并且甚至需要一段时间才能开始生成CSV文件。请查看我在下面使用的代码

我当时想我可以将需要使用的目录列表转换为CSV文件。在这里进行研究,我可以使用CSV作为变量和foreach。但是我很沮丧地把所有这些放在一起。

Get-ChildItem -Path \\MYIP\ARCHIVE\ArchiveVolumes\UniqueID\ -Exclude *.wav*,*.md5*,*.abc, -Recurse |
    Select-Object FullName |
    Add-Member -MemberType NoteProperty -Name Myfield -Value 123456 -PassThru |
    Export-Csv -Append -Path C:\mypath\fileslist.csv -Encoding ascii -NoType

我希望我仍然可以学习Powershell,因此可以更好地利用我在这里运行的功能。有任何想法吗?

0 个答案:

没有答案