如何获取服务器Data目录下指定目录的数据库信息

本文介绍了一种在特定目录中获取所有文件的标题、路径及大小的方法。通过使用NotesDbDirectory对象遍历指定目录下的所有数据库文件,并提取其标题、完整路径及文件大小等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'获取指定目录下的文件信息GetFolderDbList:

Option Public
Option Declare

Sub Initialize
 On Error Goto ErrHandle
 Dim arrTitle As Variant
 Dim arrPath As Variant
 Dim arrSize As Variant
 
 '分别获取help目录下的数据库标题、路径、大小
 'arrTitle=GetFileTitle("help")
 'arrPath=GetFilePath("help")
 'arrSize=GetFileSize("help")
 
 '统一获取help目录下的数据库标题、路径、大小
 GetFileInfo "help",arrTitle,arrPath,arrSize
 
 Dim i As Integer
 Dim intLen As Integer
 intLen=Ubound(arrTitle) 
 For i=1 To intLen
  Msgbox "Title:" & arrTitle(i) & ", Path:" & arrPath(i) & ", Size:" & arrSize(i)
 Next
 
 Exit Sub
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Sub

Function GetFileTitle(strFolder As String) As Variant
 '获取指定目录下的数据库标题
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrNSF() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrNSF(intCount)
   arrNSF(intCount) = db.Title
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 GetFileTitle=arrNSF
 Exit Function
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Function

Function GetFilePath(strFolder As String) As Variant
 '获取指定目录下的数据库路径
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrNSF() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrNSF(intCount)
   arrNSF(intCount) = db.FilePath
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 GetFilePath=arrNSF
 Exit Function
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Function

Function GetFileSize(strFolder As String) As Variant
 '获取指定目录下的数据库大小
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrNSF() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrNSF(intCount)
   arrNSF(intCount) = db.Size/1024/1024
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 GetFileSize=arrNSF
 Exit Function
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Function

Sub GetFileInfo(strFolder As String,varTitle,varPath,varSize)
 '获取指定目录下的数据库标题、路径、大小
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrTitle() As String
 Dim arrPath() As String
 Dim arrSize() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrTitle(intCount)
   Redim Preserve arrPath(intCount)
   Redim Preserve arrSize(intCount)
   arrTitle(intCount) = db.Title
   arrPath(intCount) = db.FilePath
   arrSize(intCount) = db.Size/1024/1024
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 varTitle=arrTitle
 varPath=arrPath
 varSize=arrSize
 Exit Sub
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Sub 

'获取指定目录下的文件信息GetFolderDbList:

Option Public
Option Declare

Sub Initialize
 On Error Goto ErrHandle
 Dim arrTitle As Variant
 Dim arrPath As Variant
 Dim arrSize As Variant
 
 '分别获取help目录下的数据库标题、路径、大小
 'arrTitle=GetFileTitle("help")
 'arrPath=GetFilePath("help")
 'arrSize=GetFileSize("help")
 
 '统一获取help目录下的数据库标题、路径、大小
 GetFileInfo "help",arrTitle,arrPath,arrSize
 
 Dim i As Integer
 Dim intLen As Integer
 intLen=Ubound(arrTitle) 
 For i=1 To intLen
  Msgbox "Title:" & arrTitle(i) & ", Path:" & arrPath(i) & ", Size:" & arrSize(i)
 Next
 
 Exit Sub
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Sub

Function GetFileTitle(strFolder As String) As Variant
 '获取指定目录下的数据库标题
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrNSF() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrNSF(intCount)
   arrNSF(intCount) = db.Title
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 GetFileTitle=arrNSF
 Exit Function
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Function

Function GetFilePath(strFolder As String) As Variant
 '获取指定目录下的数据库路径
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrNSF() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrNSF(intCount)
   arrNSF(intCount) = db.FilePath
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 GetFilePath=arrNSF
 Exit Function
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Function

Function GetFileSize(strFolder As String) As Variant
 '获取指定目录下的数据库大小
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrNSF() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrNSF(intCount)
   arrNSF(intCount) = db.Size/1024/1024
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 GetFileSize=arrNSF
 Exit Function
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Function

Sub GetFileInfo(strFolder As String,varTitle,varPath,varSize)
 '获取指定目录下的数据库标题、路径、大小
 On Error Goto ErrHandle
 Dim dbdir As NotesDbDirectory
 Dim db As NotesDatabase
 Dim arrTitle() As String
 Dim arrPath() As String
 Dim arrSize() As String
 Dim intCount As Integer
 Dim strPath As String
 
 Set dbdir=New NotesDbDirectory("")
 Set db = dbdir.GetFirstDatabase(DATABASE)
 intCount=0
 While Not(db Is Nothing)
  If (Strleft(Lcase$(db.FilePath),"/")=strFolder) Then
   intCount=intCount+1
   Redim Preserve arrTitle(intCount)
   Redim Preserve arrPath(intCount)
   Redim Preserve arrSize(intCount)
   arrTitle(intCount) = db.Title
   arrPath(intCount) = db.FilePath
   arrSize(intCount) = db.Size/1024/1024
  End If
  Set db=dbdir.GetNextDatabase
 Wend
 varTitle=arrTitle
 varPath=arrPath
 varSize=arrSize
 Exit Sub
ErrHandle:
 Msgbox "Error:" & Err & " Erl:" & Erl
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值