Как получить полный список файлов из общей папки?

Я пытаюсь получить список файлов в общей папке (с их полными путями), например, вместо

File1.txt 

File2.txt

on sharenamefoldername, Я пытаюсь сделать:

D:somethingfoldernameFile1.txt

D:somethingfoldernameFile2.txt

ответ этот вопрос (как получить полный путь к общей папке в windows) было полезно, и показывает, как получить реальные пути диска для общих папок с помощью WMIC. но я хотел бы пойти немного дальше, для получения дополнительной информации о файлах в акцию. Примечание - доля доступ локально, но есть несколько букв диска, и я пытаюсь избежать жесткого кодирования любых путей в сценарии.

17
задан Community
07.04.2023 22:05 Количество просмотров материала 2435
Распечатать страницу

2 ответа

Если у Вас установлен PowerShell, вы можете сделать:

get-childitem \share\drive -Recurse| foreach-object -process { $_.FullName }
4
отвечен weloytty 2023-04-09 05:53

удалось заставить его работать в VBscript, но powershell было бы предпочтительнее. Я никогда раньше не работал с VBscript, так что да, это, вероятно, неэффективно и грязно.

вход \общая папка\\папка и создает список файлов в этой папке.

    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
0
отвечен Emily 2023-04-09 08:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

dir
shared-folders
unc
windows
wmic
Вверх