用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 路径并确定本地文件夹路径需要做的一切。

(0)

相关推荐

  • 批量替换快捷方式目的路径的VBS脚本

    可以替换指定目录及其子目录下所有的快捷方式,自己指定存放快捷方式的路径.要被替换的字符串和希望替换成的字符串,然后双击即可运行. 下面为代码,不很复杂,:) 复制代码 代码如下: On Error Resume Next  '替换某文件夹及其子文件夹下的所有快捷方式的指向路径 strFolderPath="D:\Program Files\TrueLaunchBar\Shortcut\File\ Style" '快捷方式的路径  strToReplace="\SOFTWARE

  • vbs中获取脚本当前路径的2个方法

    方法一: 复制代码 代码如下: currentpath = createobject("Scripting.FileSystemObject").GetFolder(".").Path 方法二: 复制代码 代码如下: currentpath = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path

  • VBS 脚本不能运行 提示Windows无法访问指定设备路径或文件

    昨天下载并且安装了Updater Application Block后,需要执行一个Deploy.vbs的文件,鄙人才疏学浅,这个小问题竟然也花费了我不少心机. 现在把结论共享一下. 首先,我的vbs文件关联已经被"豪杰"夺取了.我双击Deploy.vbs就会打开豪杰,比较郁闷.但是我用了打开方式,试了浏览器.cmd,都无济于事. 今天,我想到这个问题后,就有想法去Microsoft的News Group上去问一问.然后又去了CSDN的全文检索.果然很争气,我的关键字只是vbs,执行,

  • vbs下一些取特殊路径的方法总结

    1.用FSO的SpecialFolder常数 FSO的SpecialFolder常数依赖的函数为GetSpecialFolder(SpecialFolder),很遗憾的是,SpecialFolder常数只有3个,0-2,0对应WindowsFolder,就是你的Windows文件夹,如果你的系统装在C盘的话,那么返回的就是"C:\Windows"这个路径字符串.1对应SystemFolder,GetSpecialFolder(1)返回"C:\Windows\system32&

  • vbs获取当前路径的代码

    CMD当前路径 复制代码 代码如下: test = createobject("Scripting.FileSystemObject").GetFolder(".").PathWscript.echo test 当前VBS路径 复制代码 代码如下: test = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.PathW

  • VBS中解决带空格路径的三种方法

    方法一: Set wshell=CreateObject("WScript.Shell") wshell.Run """C:\Program Files\360\360se\360se.exe""",5,True Set wshell = Nothing 方法二: temp="C:\Program Files\360\360se3\360se.exe" path = Chr(34) & temp &

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

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

  • ASP.NET 上传文件到共享文件夹的示例

    目录 上传文件代码 web.config 工具方法 常量 具体上传文件代码 创建共享文件夹参考资料 上传文件代码 web.config <!--上传文件配置,UploadPath值一定是服务器ip,内网ip最好--> <add key="UploadPath" value="\\172.21.0.10\File" /> <add key="DownloadPath" value="http://x.x.x.

  • 详解VirtualBox中与主机共享文件夹的方法(图文)

    安装VirtualBox为了共享文件夹,折腾了一晚上!网上的很多资料都不是很全面,这里就全面的总结一下,如果有其他的疑问,可以留言多多交流. VirtualBox下载地址,版本为5.1.2 设置共享文件路径 点击虚拟机 设置-->选择 共享文件夹 (图1 设置共享文件夹) 设置共享文件夹路径 1 选择路径 2 填写自定义的共享名称(在后面需要与挂载路径相对应) 3 设置自动挂载/固定分配 (图2 设置共享文件路径属性) 安装VirtualBox增强工具 先安装必备的包 执行下面的命令: yum

  • VMware12和CentOS7共享文件夹问题解析

    为了更好的解决虚拟机与主机的共享问题,VMware公司有一个VMWare-tools,来实现文件共享.这里主要讲的是在Windows下用 Vmware虚拟Linux来与windows来共享. 1.安装客户机系统,linux这里选用CentOS7 2.启动虚拟机中的Linux后,(注意必须是启动虚拟机后).选择菜单里的VM选项,里面有一个子项是Install VMware Tools,选定它.开始安装. 3.然后在Files的GUI窗口会看到左侧有VMware Tools 4.把那个压缩文件移到别

  • VirtualBox 在Centos 7 中安装增强功能图解 (共享文件夹)

    1.分配光驱 2.安装相关依赖包 yum install -y bzip2 gcc gcc-devel gcc-c++ gcc-c++-devel make kernel-d 3.创建临时文件夹 mkdir /mnt/cdrom 4.挂载并安装 mount -t auto -r /dev/cdrom /mnt/cdrom cd /mnt/cdrom ./VBoxLinuxAdditions.run 5.关机并添加共享文件夹 重启后,使用mount查看共享的目录(默认会加上"sf_"前缀

  • Vrtualbox虚拟机中共享文件夹配置教程

    虚拟机装的是ubuntu 16.0.4版本的linux,本机是macOs 10.12.1版本 Vrtualbox进行如下配置 在Vrtualbox-->设置-->共享文件夹-->添加共享文件夹 指定你要共享的文件夹路径,这个路径指的是本机的路径,填写共享文件夹名称,这个名称可以随便取,这里取的是share,这里不要勾选自动挂载,什么都不要勾选,如果虚拟机装的是windows系统那么这里就勾选自动挂载. 进去虚拟机启动ubuntu系统,载ubuntu系统中新建文件夹路径随意 /etc/sh

  • 服务器共享文件夹设置软件、文件共享服务器软件和共享文件夹加密工具的选择

    当前,很多企业都在局域网搭建了文件服务器,用于共享文件供局域网用户访问使用,并且很多共享文件都是单位积累的无形资产和商业机密,如何在允许员工访问服务器共享文件的同时还能保证服务器的安全呢?防止员工复制共享文件.将共享文件另存为本地以及不小心或恶意删除共享文件呢?总结起来,可以通过以下途径来实现:     方法一.通过操作系统的文件权限设置功能来分配不同用户访问共享文件的不同访问权限. 具体方法如下: 1. 打开"我的电脑"->"工具"->"文件

  • VirtualBox 共享文件夹设置及开机自动挂载详细教程

    鉴于支付宝等服务无视我们Linux用户的存在,没办法,那只好在Linux上用VirtualBox虚拟一个Windows系统了.系统装好了,在日常使用过程中,往往要从VirtualBox的客户机(guest system)中使用主机(host system)里面的文件,那么通过共享文件夹的方式可以达成此目的. 我在这里写了个图文教程,说明设置过程,希望对大家有所帮助.(注:我的主机是Ubuntu Linux 8.04,客户机是Windows XP,VirtualBox版本2.2.4[下载]) 在V

  • VirtualBox 共享文件夹权限设置及使用方法

    VirtualBox 共享文件夹权限设置及使用方法 环境: 主机(host):windowsXP 虚拟机:VirtualBox 客户机 (guest):slackware/ubuntu/... 看过我上一篇写的为VirtualBox 安装additions的朋友应该很清楚,设置VirtualBox共享文件夹之前需要安装VirtualBox Guest Additions.如果没有安装,请参考我的上一篇文章. 共享文件夹就是使主机的wendows和客户机linux能彼此共享文件.在当前的架构情况下

  • virtualbox中ubuntu和windows共享文件夹设置教程

    本文介绍了virtualbox中ubuntu和windows共享文件夹设置,具体如下: 系统平台:win8.1.virtualbox4.3.8.ubuntu12.04 1.安装VBoxGuestAdditions_4.3.8.iso增强工具,安装完毕后根据提示重启Ubuntu,具体操作如下: a.把VBoxGuestAdditions_4.3.8.iso镜像到Ubuntu中,存放在Ubuntu的/media目录中,操作如下: b.安装virtualbox增强包 linjiqin@ubuntu:~

随机推荐