用vbs实现的确定共享文件夹的本地路径?_vbs

如何确定共享文件夹的本地路径?
问:
您好,脚本专家!如果有 UNC 路径(例如 \\server1\test),可以使用脚本确定共享文件夹(例如 C:\Scripts\Test 文件夹)的本地路径吗?
-- JVK
答:
您好,JVK。是的,您说得没错
噢,对了;我们几乎忘了。您能使用脚本确定共享文件夹的本地路径吗?您当然可以(尽管我们不知道为什么在棒球赛季期间还有人有闲心做这些)。但如果这确实是您想要做的,那么这就告诉您该如何去做:

复制代码 代码如下:

strPath = "\\atl-fs-01\public" 
strPath = Replace(strPath, "\\", "") 
arrPath = Split(strPath, "\") 
strComputer = arrPath(0) 
strShare = arrPath(1) 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set colItems = objWMIService.ExecQuery _ 
    ("Select * From Win32_Share Where Name = '" & strShare & "'") 
For Each objItem in colItems 
    Wscript.Echo objItem.Path 
Next 

正如您所见,我们首先使用了一个典型 UNC 路径:\\atl-fs-01\public。顺便提一下,我们将该路径存储在名为 strPath 的变量中。有了这个路径名称之后,我们必须做两件事。首先,我们必须将计算机名称 (atl-fs-01) 与共享名称 (public) 分开。之后,我们必须连接到计算机 atl-fs-01,确定 public 文件夹的本地路径。那将会有多难?一点也不难。
特别是对于我们这些刚刚设法战胜了“无敌”对手的脚本编写者。我们还没说吧?最后得分是 4 比 2,尽管我们打得不那么好。肯定是教练非常好 …
让我们言归正传吧。首先,我们必须去掉 UNC 路径之前的 \\。虽然还有其他若干方法,我们只需使用 Replace 函数将出现的每个 \\ 替换为空内容:
strPath = Replace(strPath, "\\", "")
执行这行代码后,变量 strPath 将等于 atl-fs-01\public。这意味着,我们可以使用 Split 函数将此值分成数组:
arrPath = Split(strPath, "\")
根据 \ 进行分离后,我们最终得到由两项数据组成的数组:
? atl-fs-01
? public
不用说,这就是我们要找的两条信息:计算机名称和共享文件夹名称。明确这一点后,我们将数组中的第一项(项 0)赋给名为 strComputer 的变量,将第二项(项 1)赋给名为 strShare 的变量:
strComputer = arrPath(0)
strShare = arrPath(1)
那么,现在我们是不是到了比较困难的部分?不管您相信与否,这正是比较困难的部分;在这以后,我们只需使用标准的 WMI 脚本。我们首先连接到远程计算机上的 WMI 服务。(哪个远程计算机?就是 Atl-fs-01,该计算机的名称存储在名为 strComputer 的变量中。)然后,我们使用 ExecQuery 方法检索该计算机上的所有共享文件夹的集合:
Set colItems = objWMIService.ExecQuery _
    ("Select * From Win32_Share Where Name = '" & strShare & "'")
好主意:我们没有获得所有共享文件夹,对吗?相反,我们只获得了 Name 属性等于 strShare 变量的值的那些共享文件夹。(在您打一会盹的功夫,strShare 等于 public,也就是我们所要的共享文件夹名称。)接下来要做的就是建立一个 For Each 循环来遍历集合(因为在一台计算机上的共享文件夹名称必须唯一,所以该集合中将只有一项),然后回显 Path 属性的值。您可能已经猜到了,Path 属性告诉我们 atl-fs-01 上的文件夹的本地路径:
D:\Scripts\Public
这就是您要获得一个 UNC 路径并确定本地文件夹路径需要做的一切。

时间: 2024-09-03 14:59:55

用vbs实现的确定共享文件夹的本地路径?_vbs的相关文章

vbs,hta中选择文件夹对话框实现代码_vbs

复制代码 代码如下: on error resume next SelectFolder function SelectFolder() Const MY_COMPUTER = &H11& Const WINDOW_HANDLE = 0 Const OPTIONS = 0 Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(MY_COMPUTER) Set

服务器-windows server 2003共享文件夹重启后失效的问题

问题描述 windows server 2003共享文件夹重启后失效的问题 以前是没有这个问题的,前几天断电,服务器关闭,在重新启动就是这个问题了,有什么解决的方法吗?

Win8系统局域网无法访问共享文件夹怎么办?

  Win8系统局域网无法访问共享文件夹怎么办? 方法一 1.打开网络共享中心 打开Win8的控制面板,点击右上角的按大图标排列,找到网络共享中心,打开. 2.打开"更改高级共享设置" 在网络共享中心的这个界面,你会看到左侧栏有一个"更改高级共享设置"的选项,打开. 3.在高级共享设置中做出如下更改: 公共文件夹共享 如果你相信局域网中的其他人,开启此功能. 密码保护时的共享 关闭这个功能 设置完成之后点击保存,重启电脑,这样Win8系统就可以访问XP或者Win7计

HOW TO:枚举网络邻居的计算机及其共享文件夹

网络 关键引用空间:System.directoryservices,System.Management 说明:Form上有一个TreeView1,Button1 代码如下:     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click     Private Sub Button1_Click(ByVal sender As Syst

Windows server 2008文件服务器之一隐藏用户无权限访问的共享文件夹

话说在windows server 2003 SP1可以从微软获得一个插件得到这样一个实用的功能:让用户没有权限访问的共享文件夹隐身,这样保证了一定程度上资讯安全解决文件服务器的共享文件繁多让用户浪费时间寻找属于自己的文件夹的苦恼.墨迹太多,呵呵忘记说了,这个插件就是ABE插件,但是是英文的, 自从CC将公司的文件服务器升级到2008后一直想着办法提升文件服务器的管理功能,但是ABE插件好像自从2003后一直未有升级版本,导致CC以为微软是不是抛弃了这个功能,最后经过多方查找后终于找到这个功能,

搜索Windows XP文件、文件夹和设置共享文件夹

有时候用户需要察看某个文件或文件夹的内容,却忘记了该文件或文件夹存放的具体的位置或具体名称,这时候Windows XP 提供的搜索文件或文件夹功能就可以帮用户查找该文件或文件夹.   搜索文件或文件夹的具体操作如下: (1)单击"开始"按钮,在弹出的菜单中选择"搜索"命令. (2)打开"搜索结果"对话框,如图3.6 所示. (3)在"要搜索的文件或文件夹名为"文本框中,输入文件或文件夹的名称. (4)在"包含文字&q

Windows 2003共享文件夹的卷影复制功能

在以往的Windows文件服务器资源共享中,当客户端一不小心将共享文件删除或覆盖时,管理员就必须重建共享文件,以便共享资源能够恢复正常.在Windows Server 2003中,这一切都随着"共享文件夹的卷影复制"功能的出现,而有了彻底的改变. 卷影复制功能实质上就是可以对现有的共享资源进行复制的技术.在使用卷影复制功能后,服务器会按指定的时间自动(也可以使用手工方式).不断地按时(默认状态为两天进行一次卷影复制操作)对共享文件夹的属性进行复制. 当客户端对服务器中的共享资源进行了删

如何快速删除共享文件夹

其实共享是我们网络应用中最普遍的一种了,本文就介绍XP下共享应用中出现比较多的一些错误,其实导致这些错误的大多是因为设置上不合理所造成的,只要找到源头自然可以轻松解决. 打开Windows的网上邻居窗口,可以看到里面保存我们曾经访问过的共享文件夹列表.但是让人不解的是别的电脑上已经删除了共享文件夹,但是在网上邻居窗口里仍然可以看到.怎样才能把这些无效的垃圾共享文件夹删除呢? 其实我们访问过的共享文件夹历史记录都保存在注册表之中,只要我们对注册表稍作修改即可解决这个问题.打开"运行"窗口

Windows7中共享文件夹的脱机设置

每当一个新版本的操作系统出来,总能给我们不少的惊喜.这次Windows7操作系统也不例外.当我们设置一个共享文件夹后,依次打开属性.共享.高级共享窗口,我们会惊喜的看到这里多了一个叫做"缓存"的按钮(笔者个人认为这个按钮的名字取得名不副实,若改为脱机设置可能会更好).我们点击这个按钮可以打开如下图所示的共享文件夹脱机设置窗口.在这个窗口中,可以进行共享文件加的脱机设置.这个功能是现在主流的XP操作系统中所没有的.那么其到底有什么功能呢?笔者在这里就先尝尝鲜了. 一.共享文件夹使用中的问