Se você tem o PowerShell instalado, você pode fazer:
get-childitem \share\drive -Recurse| foreach-object -process { $_.FullName }
Estou tentando obter uma lista de arquivos em uma pasta compartilhada (com seus nomes de caminho completos) - por exemplo, em vez de
File1.txt
File2.txt
em \sharename\foldername
, estou tentando obter:
D:\something\foldername\File1.txt
D:\something\foldername\File2.txt
A resposta para essa pergunta (Como obter o caminho completo de um compartilhamento no Windows) foi útil e mostra como obter os caminhos de unidade reais para compartilhamentos usando o WMIC., mas gostaria de ir um pouco mais adiante para ver mais informações sobre os arquivos dentro do compartilhamento. Observação: o compartilhamento será acessado localmente, mas há várias letras de unidade e estou tentando evitar codificar quaisquer caminhos em um script.
Se você tem o PowerShell instalado, você pode fazer:
get-childitem \share\drive -Recurse| foreach-object -process { $_.FullName }
Gerenciado para trabalhar no VBscript, mas o powershell seria preferido. Eu nunca trabalhei com VBscript antes, então sim, provavelmente é ineficiente e confuso.
A entrada é \ share \ folder \ folder e cria uma lista de arquivos nessa pasta.
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
Tags windows shared-folders unc wmic dir