vbs读取文件内的信息将对应数据拷贝到其他路径

公司的人数众多,使用的是domino8.5+Exchange邮箱系统。

我们知道microsoft已经推出windows azure服务,所谓的公有云,我们已经在前面的几篇文档内介绍了,具体信息我就不多介绍了;自从公司购买了windows azure服务后,领导建议开始优化邮件服务的架构,将本地的服务器开始迁移windows azure运行,从IBM的官网得知,一台domino服务器最大承载用户2000-2500人,可我们在真实使用中,跟预想的不一样,只能跑1000-1200个用户,服务器能运行多少用户直接跟服务器的性能有直接关系,我们本地的所有domino服务器都运行在虚拟机上,给的最大内存是4G,CPU一颗等,所以运行1000-1200人我觉得是算是正常了。言归正传,既然是优化,那怎么做呢?那就是在windows azure上创建虚拟机,然后安装domino,启用新的邮件服务器,然后将本地的邮箱用户迁移到windows azure上的邮件服务器上,就这么简单,但是问题是,之前在本地对部分用户做过邮件迁移,比如从mail01迁移到mail02上,这样就会在mail01和mail02上都有对应的邮箱数据库,可实际用户只需要在mail02上有对应的数据库就行了,可mail01上换有用户的数据库文件,这样用户越来越多就会浪费磁盘空间,及迁移时间。所以需要怎么做呢?我们先将迁移的服务器domino导出信息,然后通过vbs拷贝数据,这样就不会有问题,

首先是定义一个xlsx文件(1.xlss),文件可以任意命名,但是需要跟脚本内的文件对应。然后定义拷贝源(d:\data),然后定一些扩展名为.nsf的文件,然后在对应的创建一个目标源(e:\data)。具体见下:

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

2.定义脚本内容:

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

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

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

脚本内容。

脚本内容:

currentFolder=CreateObject("wscript.shell").currentDirectory&"\"
filename1=currentFolder&"1.xlsx"
sourceFolderPath="d:\data"   ‘‘‘‘.nsf存放目录
desFolderPath="e:\data\"      ‘‘‘‘拷贝的目标目录 
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(dic.Exists(fileName)) Then
fso.CopyFile file.Path,desFolderPath,true
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.看看结果:

vbs读取文件内的信息将对应数据拷贝到其他路径

时间: 2024-10-19 01:02:41

vbs读取文件内的信息将对应数据拷贝到其他路径的相关文章

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

vbs读取文件内的信息将非有效数据移动到指定路径 之前我们介绍了,通过读取文件内的信息将相同的数据拷贝到指定目录,执行后我们可以利用有效的信息,但是时间长的话服务器上的可用空间也会越来越多,所以再次就想通过vbs脚本来判断数据是否有用,来提高服务器的可用空间. 思路是这样的,通过从domino目录下导出有效的数据,然后通过本地的数据盘进行比对,将无效的数据库移动到其他盘操作,如果在不影响数据完整性的情况下在做删除,那如何操作呢,首先是定义一个xlsx文件(1.xlss),文件可以任意命名,但是需

fprintf写入字符串入文件/fread读取文件内的字符串

#include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { FILE *fp = NULL; char name[12] = "tom"; int age = 12; int ret = 0; char readName[12]; int readAge; // scanf("%s",name); //不能手动输入字符串,会导致读取不出来字

linux shell命令向文件内特定的行插入数据,如注释等

1 文本1.txt为样例文件,内容为10行样例 2 向第2行到第7行的内容添加注释 命令如下: 使用sed命令 -i 直接修改读取的文件内容,而不是输出到终端 s代表替换 s前面的数字,代表需要添加的行数 ^代表行首 $代表行尾 &后面接添加的内容 :分号代表可以写多个条件 最后加文件名字,命里组合如下 sed -i '2s/^/&<!-- /;7s/$/& -->/' 1.txt 文件太长可以用截图的命令 -n 只显示匹配处理的行 '2,7p'  处理第2到7行 se

c++ 解决ifstream在断点debug下无法读取文件问题

std::ifstream input("data/output.off"); 在运行debug或release模式下编译生成的exe都能正常读取文件,但是设置断点点击调试的debug下就不能读取文件了. 原因是exe模式下,相对路径是在exe所在的文件夹为基准. 比如,文件的物理地址为E:\vs2010-projects\ModelDecompoent\Release\data\output.off 但是断点debug模式下,应将文件放在cpp所在的文件夹下. 即:E:\vs2010

R语言读取文件数据

R语言读取文件数据 ??1.read.table()函数 2.其他函数的缺省 read.csv(file, header = TRUE, sep = ",", quote="\"", dec=".",fill = TRUE, ...)read.csv2(file, header = TRUE, sep = ";", quote="\"", dec=",",fill =

html5中利用FileReader来读取文件。

利用FileReader来读取文件的能够来实现即时预览的效果,这个也是在html5中才有的功能. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &l

实现通过&#39;net 映射sql server 读取局域网内其他服务器文件

实现环境 应用程序服务器:IIS6.0+windows Server2003 数据库服务器:Sql 2005+windows Server2003 研究原因 以前数据库服务器和web服务器在同一台服务器上,先在特殊原因把数据库服务器和Web服务器放在了不同的位置上,为了实现sql server数据库中数据快速导出,尝试了很多方法,但是当数据量太大以后,导出的速度就特别慢.最终在老大的帮助下,解决了这一问题,就是通过创建文件夹共享和盘符映射. 文件共享 开启guest账号:右击我的电脑\管理\用户

C++开发人脸性别识别教程(8)——搭建MFC框架之读取文件夹信息

在上一篇博客中我们已经绘制了MFC界面,在这篇博客中我们将添加响应代码,为MFC框架添加一个最基本的功能:打开一个文件夹. 一.添加相关头文件 这里头文件主要包含三类:opencv头文件.批量读取文件相关的头文件.CvvImage.这里需要强调CvvImage这个头文件,这个是用来关联OpenCv和picture控件,并且这个头文件是隶属于OpenCv1.x的,在2.x版本中已经将这个类移除,因此需要手动下载这两个文件(CvvImage.h和CvvImage.cpp),下载地址:CvvImage

fstat - 读取文件相关信息

#fstat读取到的信息 ["dev"]=> int(16777220) ["ino"]=> int(66880002) ["mode"]=> int(33188) ["nlink"]=> int(1) ["uid"]=> int(501) ["gid"]=> int(0) ["rdev"]=> int(0) //文件大小(单