文件夹中文件列表的 PowerShell 输出的 VBA 字符串变量限制

问题描述 投票:0回答:1

我正在尝试导出根文件夹和子文件夹中所有文件的文件属性。这是一个巨大的文件数据库,包含大约 300000 个文件。我一直在使用 PowerShell 来实现此目的,但字符串变量限制了我的输出。

Sub SO()

Const parentFolder As String = "\\eugbp-anas0001\hr_xythos_prd\SharedFolder\UK\" '// change as required, keep trailing slash
Dim results As String

    results = CreateObject("WScript.Shell").Exec("CMD /C DIR """ & parentFolder & "*.*"" /S /B /A:-D").StdOut.ReadAll
    'Range("A1").Value = results

Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim oFile As Object
    Set oFile = fso.CreateTextFile("C:\Users\rkchal\Desktop\Export\OUTPUT.txt")
    oFile.WriteLine results
    oFile.Close
    Set fso = Nothing
    Set oFile = Nothing

End Sub

如何克服这个限制并获得包含完整列表的文本文件?

提前致谢。

vba powershell wscript.shell
1个回答
0
投票

您可以将输出直接通过管道传输到文件:

CreateObject("WScript.Shell").Exec _
   "CMD /C DIR """ & parentFolder & "*.*"" /S /B /A:-D > C:\Tester\output.txt"
© www.soinside.com 2019 - 2024. All rights reserved.