vbs如何内存映射?

vbs如何内存映射?,第1张

一、使用.vbs的脚本做映射

1.把下面代码复制到记事本,保存为映射.vbs。

Set WshNetwork = CreateObject("WScript.Network")

wshNetwork.MapNetworkDrive "x:", "\ Fileserver01Users$" &wshNetwork.UserNamewshNetwork.MapNetworkDrive "z:", "\ Fileserver01groups$it"

wshNetwork.MapNetworkDrive "y:", "\ Fileserver01company share$"

2.先打开“Active Directory Users and Computer”,右击IT部的OU,然后选属性,在“IT Properties”对话框里,再选择“Group Policy”的标签,点击“New”,新建一条组策略

3.点击“Edit”,

4.在“Group Policy Object Editor”中,选择“User Configuration—WindowsSettings—Scripts(Logon/Logoff)”,然后右面板中双击logon,

5.d出“Logon Properties”的对话框中再点击“Show Files”,将刚才建立的映射.vbs脚本copy到这个文件夹下。

6.回到“Logon Properties”对话框,点击Add,d出“Add a Script”对话框,在该对话框中点击Browse

7.选择刚才建立的脚本文件

8.点Apply,再点OK,应用脚本。

9.使用gpupdate /force命令刷新组策略,用户注销后,脚本就会自动执行了。

二、使用批处理脚本映射

1.使用记事本输入以下脚本,保存为映射.bat。

@echo offecho Map the new Network Drive.....

@net use "x": \ Fileserver01Users$

@net use "y": \ Fileserver01groups$it

@net use "z": \ Fileserver01company share$

虚拟内存的目标存储器是磁盘,所以虚拟内存区域是和磁盘中的文件对应的。初始化虚拟内存的内容时,会把虚拟内存区域和一个磁盘文件对象对应起来,这个过程叫内存映射。被映射的对象称为:共享对象。虚拟内存可以映射的磁盘文件对象包括两种:

在多个进程的虚拟内存区域已和同一个共享对象建立映射关系的前提下,若其中一个进程对该虚拟区域进行写 *** 作,那么对于也把该共享对象映射到其自身虚拟内存区域的进程也是可见的。

 工作流程如下:

这两个步骤创建虚拟空间和映射地址,但时并无将任何文件数据拷贝到主存;真正的数据拷贝时刻:当进程发起读/写 *** 作时。

示意图:

特点:直接通过映射进行交互,数据拷贝的次数只有一次,文件读取的效率高,可实现高效大规模数据传输。

工作流程:

示意图:

缺点:

工作流程:

示意图:

优点:

参考链接:

https://www.jianshu.com/p/719fc4758813

内存映射文件是由一个文件到一块内存的映射,使进程虚拟地址空间的某个区域与磁盘上某个文件的部分或全部内容的建立映射。

建立映射后,通过该区域可以直接对被映射的磁盘文件进行访问.而不必执行文件I/O *** 作也无需对文件内容进行缓冲处理。

就好像整个被映射的文件都加载到了内存一样,因此内存文件映射非常适合于用来管理大文件。

内存映射文件对程序的提速,只在处理大文件或非常频繁的文件读写 *** 作时效果才明显。

通过内存映射,相当于将磁盘上的文件所在空间建立成一块虚拟内存,程序访问时可按内存的方式进行,省去了普通io方式的一些环节,其实真正要读写 *** 作时,会进行换页,将这些个“虚拟内存”读到物理内存中。

总之,内存映射文件是应用虚拟内存的技术来达到加速处理的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12040441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存