vbs读取文件内的信息将非有效数据移动到指定路径

简介:

vbs读取文件内的信息将非有效数据移动到指定路径

之前我们介绍了,通过读取文件内的信息将相同的数据拷贝到指定目录,执行后我们可以利用有效的信息,但是时间长的话服务器上的可用空间也会越来越多,所以再次就想通过vbs脚本来判断数据是否有用,来提高服务器的可用空间。

思路是这样的,通过从domino目录下导出有效的数据,然后通过本地的数据盘进行比对,将无效的数据库移动到其他盘操作,如果在不影响数据完整性的情况下在做删除,那如何操作呢,首先是定义一个xlsx文件(1.xlss),文件可以任意命名,但是需要跟脚本内的文件对应。然后定义数据源(d:\data),然后定一些扩展名为.nsf的文件,然后在对应的创建一个目标源(d:\data1)。具体见下:

1.如果我们仅需要导出指定服务器上的目录信息,通过notes控制台打开names.nsf数据------Messaging--------Mail Users,可以通过鼠标选定后,右击导出

clip_image002

2.定义脚本内容:

1>.对比文件------脚本读取的对比文件,以文件内容为准进行拷贝。

2>.源文件-----通过脚本内的文件跟源文件对比,将相同的数据进行拷贝。

3>.目标文件-----对比后,将相同的文件拷贝后存放的路径

clip_image004

代码:

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)

clip_image006

4.设置源路径及内容

clip_image008

5.设置路标路径

clip_image010

6.然后将对比文件(1.xlsx)文件和定义好的脚本文件存放在一个目录下。

clip_image012

7.开始运行:双击运行即可。

clip_image014

8.看看结果:

clip_image016

9对比源文件目录和源文件内容

clip_image018



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1562886,如需转载请自行联系原作者

相关文章
|
3月前
|
数据格式 Python
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
【Python】已解决:Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
176 0
文件打开的格式
文件打开的格式
|
2月前
|
JavaScript Java
不同目录下的文件读取方式
这篇文章介绍了在Java中不同情况下读取文件的方法,包括当文件与类文件处于同级目录、不同级目录,以及不区分目录层级时的读取方式。
19 1
讲解:如何根据txt文本列出的文件名批量查找指定文件夹里的文件并复制到新的文件夹里 , 按照文件名批量复制文件 , 根据文件名批量复制 , 通过文件名批量复制文件
该文介绍了一款批量文件处理软件,用于解决三类问题:依据文件名清单批量复制图片、筛选PDF文件及删除指定文件。用户可从百度或腾讯下载链接获取软件。操作步骤包括加载文件夹、输入文件名清单、设置目标位置、选择操作类型(复制、剪切或删除)及匹配方式,然后开始查找。软件能快速处理大量文件,提高办公效率,避免手动操作。查找结果会显示在特定文件夹和日志中,记录每个操作详情。
|
5月前
|
Windows
推荐:如何批量根据PDF文件名批量查找PDF文件,复制到指定地方保存,通过文件名批量复制文件,按照文件名批量复制文件,根据文件名批量提取文件
该文介绍了一个批量查找PDF文件(不限于找PDF)的工具,用于在多级文件夹中快速查找并复制特定文件。通过下载提供的软件,用户可以加载PDF库,输入文件名列表,设置操作参数(如保存路径、复制或删除)及搜索模式。软件能高效执行,例如在1.1秒内完成对数千文件中的37个目标文件的复制,显著提升了工作效率,避免了手动逐个查找和复制的繁琐。
|
5月前
|
Linux Shell
Linux脚本获取输入参数判断文件还是文件路径
Linux脚本获取输入参数判断文件还是文件路径
32 4
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
1147 0
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
|
存储 文件存储 C++
C++ 实现输出某个文件夹下所有文件名称,finddata_t、findfirst、findnext函数祥讲细讲解
利用C++实现输出某个文件夹下的文件名,需要用到的函数及其数据类型;
Win10系统下如何在某个特定的文件夹内输出所有文件路径
Win10系统下如何在某个特定的文件夹内输出所有文件路径
249 0
vbs 读取txt是读取特定的行
读取第三行的内容:Set fso = CreateObject("scripting.filesystemobject")path="A.TXT文件的路径"Set A=fso.OpenTextFile(path,1)For i=1 To 2A.
1088 0