vbs读取文件内的信息将非有效数据移动到指定路径
之前我们介绍了,通过读取文件内的信息将相同的数据拷贝到指定目录,执行后我们可以利用有效的信息,但是时间长的话服务器上的可用空间也会越来越多,所以再次就想通过vbs脚本来判断数据是否有用,来提高服务器的可用空间。
思路是这样的,通过从domino目录下导出有效的数据,然后通过本地的数据盘进行比对,将无效的数据库移动到其他盘操作,如果在不影响数据完整性的情况下在做删除,那如何操作呢,首先是定义一个xlsx文件(1.xlss),文件可以任意命名,但是需要跟脚本内的文件对应。然后定义数据源(d:\data),然后定一些扩展名为.nsf的文件,然后在对应的创建一个目标源(d:\data1)。具体见下:
1.如果我们仅需要导出指定服务器上的目录信息,通过notes控制台打开names.nsf数据------Messaging--------Mail Users,可以通过鼠标选定后,右击导出
2.定义脚本内容:
1>.对比文件------脚本读取的对比文件,以文件内容为准进行拷贝。
2>.源文件-----通过脚本内的文件跟源文件对比,将相同的数据进行拷贝。
3>.目标文件-----对比后,将相同的文件拷贝后存放的路径
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
currentFolder=CreateObject(
"wscript.shell"
).currentDirectory&"\"
filename1=currentFolder&
"1.xlsx"
sourceFolderPath=
"d:\data"
''''.nsf存放目录
desFolderPath="d:\data1\"
''''移动的目标目录
Set
dic=CreateObject(
"scripting.dictionary"
)
Set
fso=CreateObject(
"scripting.filesystemobject"
)
Set
sourceFolder = fso.GetFolder(sourceFolderPath)
Set
desFolder=fso.GetFolder(desFolderPath)
Set
excelObject=CreateObject(
"Excel.Application"
)
Set
workbook1=excelObject.Workbooks.Open(filename1)
Set
workbook1_sheet=workbook1.Sheets(
"Sheet1"
)
workbook1_rowcount=workbook1_sheet.usedrange.rows.count
For
i=0
To
workbook1_rowcount
content=Trim(workbook1_sheet.range(
"A1"
).offset(i,0).value)
If
Not
dic.Exists(content)
Then
dic.Add content,content
End
If
Next
For
Each
file
In
sourceFolder.Files
fileNameStr=file.Name
fileNameArray=Split(fileNameStr,
"."
,-1)
fileName=fileNameArray(0)
If
(
Not
dic.Exists(fileName))
Then
fso.CopyFile file.Path,desFolderPath,
True
fso.DeleteFile file.Path
End
If
Next
workbook1.Close
Set
workbook1=
Nothing
Set
excelObject=
Nothing
Set
dic=nothing
MsgBox
"执行成功"
Function
RegExpTest(pattern,str)
Set
reg =
New
RegExp
reg.Pattern=pattern
reg.Global=
True
reg.IgnoreCase=
True
RegExpTest=reg.Test
End
Function
|
3.定义好脚本后,我们新建需要的对比文件,1.xlsx(sheet1)
4.设置源路径及内容
5.设置路标路径
6.然后将对比文件(1.xlsx)文件和定义好的脚本文件存放在一个目录下。
7.开始运行:双击运行即可。
8.看看结果:
9对比源文件目录和源文件内容
本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1562886,如需转载请自行联系原作者