国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

用vbs實(shí)現(xiàn)的確定共享文件夾的本地路徑?

2020-06-26 18:06:56
字體:
供稿:網(wǎng)友
如何確定共享文件夾的本地路徑? 
問: 
您好,腳本專家!如果有 UNC 路徑(例如 //server1/test),可以使用腳本確定共享文件夾(例如 C:/Scripts/Test 文件夾)的本地路徑嗎? 
-- JVK 
答: 
您好,JVK。是的,您說得沒錯(cuò) 
噢,對(duì)了;我們幾乎忘了。您能使用腳本確定共享文件夾的本地路徑嗎?您當(dāng)然可以(盡管我們不知道為什么在棒球賽季期間還有人有閑心做這些)。但如果這確實(shí)是您想要做的,那么這就告訴您該如何去做: 
復(fù)制代碼代碼如下:

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 

正如您所見,我們首先使用了一個(gè)典型 UNC 路徑://atl-fs-01/public。順便提一下,我們將該路徑存儲(chǔ)在名為 strPath 的變量中。有了這個(gè)路徑名稱之后,我們必須做兩件事。首先,我們必須將計(jì)算機(jī)名稱 (atl-fs-01) 與共享名稱 (public) 分開。之后,我們必須連接到計(jì)算機(jī) atl-fs-01,確定 public 文件夾的本地路徑。那將會(huì)有多難?一點(diǎn)也不難。 
特別是對(duì)于我們這些剛剛設(shè)法戰(zhàn)勝了“無敵”對(duì)手的腳本編寫者。我們還沒說吧?最后得分是 4 比 2,盡管我們打得不那么好。肯定是教練非常好 … 
讓我們言歸正傳吧。首先,我們必須去掉 UNC 路徑之前的 //。雖然還有其他若干方法,我們只需使用 Replace 函數(shù)將出現(xiàn)的每個(gè) // 替換為空內(nèi)容: 
strPath = Replace(strPath, "//", "") 
執(zhí)行這行代碼后,變量 strPath 將等于 atl-fs-01/public。這意味著,我們可以使用 Split 函數(shù)將此值分成數(shù)組: 
arrPath = Split(strPath, "/") 
根據(jù) / 進(jìn)行分離后,我們最終得到由兩項(xiàng)數(shù)據(jù)組成的數(shù)組: 
? atl-fs-01 
? public 
不用說,這就是我們要找的兩條信息:計(jì)算機(jī)名稱和共享文件夾名稱。明確這一點(diǎn)后,我們將數(shù)組中的第一項(xiàng)(項(xiàng) 0)賦給名為 strComputer 的變量,將第二項(xiàng)(項(xiàng) 1)賦給名為 strShare 的變量: 
strComputer = arrPath(0) 
strShare = arrPath(1) 
那么,現(xiàn)在我們是不是到了比較困難的部分?不管您相信與否,這正是比較困難的部分;在這以后,我們只需使用標(biāo)準(zhǔn)的 WMI 腳本。我們首先連接到遠(yuǎn)程計(jì)算機(jī)上的 WMI 服務(wù)。(哪個(gè)遠(yuǎn)程計(jì)算機(jī)?就是 Atl-fs-01,該計(jì)算機(jī)的名稱存儲(chǔ)在名為 strComputer 的變量中。)然后,我們使用 ExecQuery 方法檢索該計(jì)算機(jī)上的所有共享文件夾的集合: 
Set colItems = objWMIService.ExecQuery _ 
    ("Select * From Win32_Share Where Name = '" & strShare & "'") 
好主意:我們沒有獲得所有共享文件夾,對(duì)嗎?相反,我們只獲得了 Name 屬性等于 strShare 變量的值的那些共享文件夾。(在您打一會(huì)盹的功夫,strShare 等于 public,也就是我們所要的共享文件夾名稱。)接下來要做的就是建立一個(gè) For Each 循環(huán)來遍歷集合(因?yàn)樵谝慌_(tái)計(jì)算機(jī)上的共享文件夾名稱必須唯一,所以該集合中將只有一項(xiàng)),然后回顯 Path 屬性的值。您可能已經(jīng)猜到了,Path 屬性告訴我們 atl-fs-01 上的文件夾的本地路徑: 
D:/Scripts/Public 
這就是您要獲得一個(gè) UNC 路徑并確定本地文件夾路徑需要做的一切。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 河北省| 桃源县| 五寨县| 新建县| 定陶县| 武乡县| 饶平县| 桑植县| 绿春县| 湛江市| 新郑市| 苗栗县| 星座| 会宁县| 桐梓县| 闸北区| 旬阳县| 尉犁县| 略阳县| 杭锦后旗| 澳门| 五寨县| 亚东县| 天台县| 钦州市| 汶川县| 蒙自县| 彭阳县| 呼伦贝尔市| 南宫市| 林甸县| 涿鹿县| 绥德县| 武城县| 苗栗市| 前郭尔| 梓潼县| 宝鸡市| 孟津县| 岢岚县| 潞西市|