如何从共享文件夹获取完整合格的文件列表?

如何从共享文件夹获取完整合格的文件列表?

我正在尝试获取共享文件夹上的文件列表(包括其完整路径名)-例如,而不是

File1.txt 

File2.txt

在 上\\sharename\foldername,我试图获得:

D:\something\foldername\File1.txt

D:\something\foldername\File2.txt

答案这个问题(如何在 Windows 中获取共享的完整路径)很有帮助,并展示了如何使用 WMIC 获取共享的真实驱动器路径。但我想进一步了解共享内文件的更多信息。注意 - 共享将在本地访问,但有多个驱动器号,我试图避免在脚本中硬编码任何路径。

答案1

如果您已安装 PowerShell,您可以执行以下操作:

get-childitem \\share\drive -Recurse| foreach-object -process { $_.FullName }

答案2

设法让它在 VBscript 中运行,但更倾向于使用 powershell。我以前从未使用过 VBscript,所以它可能效率低下且混乱。

输入是 \share\folder\folder 并且它会在该文件夹中创建文件列表。

    Dim Arg 
    Set Arg = WScript.Arguments

    strPath = WScript.Arguments(0)
    strPath = Replace(strPath, "\\", "")
    arrPath = Split(strPath, "\")
    strComputer = arrPath(0)
    strShare = arrPath(1)
    strFolder = arrPath(2)

    strPath0 = WScript.Arguments(0)
    sDate = Replace(Date, "/", "-") 
    filename = strPath0 & "\BackupFileList-" & sDate & ".txt"

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.CreateTextFile(filename, ForAppending, True)

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery _
        ("Select * From Win32_Share Where Name = '" & strShare & "'")

    For Each objItem in colItems
    dirPath =  objItem.Path
    Next

    Set folder = objFSO.GetFolder(WScript.Arguments(0))
    Set files = folder.Files

    For each folderIdx In files
        objTextFile.WriteLine(dirPath & "\" & strFolder & "\" & folderIdx.Name)
      Next
      objTextFile.Close

相关内容