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

首頁 > 編程 > VBScript > 正文

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

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

strPath = "http://atl-fs-01/public" 
strPath = Replace(strPath, "http://", "") 
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 文件夾的本地路徑。那將會有多難?一點也不難。
特別是對于我們這些剛剛設(shè)法戰(zhàn)勝了“無敵”對手的腳本編寫者。我們還沒說吧?最后得分是 4 比 2,盡管我們打得不那么好。肯定是教練非常好 …
讓我們言歸正傳吧。首先,我們必須去掉 UNC 路徑之前的 //。雖然還有其他若干方法,我們只需使用 Replace 函數(shù)將出現(xiàn)的每個 // 替換為空內(nèi)容:
strPath = Replace(strPath, "http://", "")
執(zhí)行這行代碼后,變量 strPath 將等于 atl-fs-01/public。這意味著,我們可以使用 Split 函數(shù)將此值分成數(shù)組:
arrPath = Split(strPath, "/")
根據(jù) / 進(jìn)行分離后,我們最終得到由兩項數(shù)據(jù)組成的數(shù)組:
? atl-fs-01
? public
不用說,這就是我們要找的兩條信息:計算機名稱和共享文件夾名稱。明確這一點后,我們將數(shù)組中的第一項(項 0)賦給名為 strComputer 的變量,將第二項(項 1)賦給名為 strShare 的變量:
strComputer = arrPath(0)
strShare = arrPath(1)
那么,現(xiàn)在我們是不是到了比較困難的部分?不管您相信與否,這正是比較困難的部分;在這以后,我們只需使用標(biāo)準(zhǔn)的 WMI 腳本。我們首先連接到遠(yuǎn)程計算機上的 WMI 服務(wù)。(哪個遠(yuǎn)程計算機?就是 Atl-fs-01,該計算機的名稱存儲在名為 strComputer 的變量中。)然后,我們使用 ExecQuery 方法檢索該計算機上的所有共享文件夾的集合:
Set colItems = objWMIService.ExecQuery _
    ("Select * From Win32_Share Where Name = '" & strShare & "'")
好主意:我們沒有獲得所有共享文件夾,對嗎?相反,我們只獲得了 Name 屬性等于 strShare 變量的值的那些共享文件夾。(在您打一會盹的功夫,strShare 等于 public,也就是我們所要的共享文件夾名稱。)接下來要做的就是建立一個 For Each 循環(huán)來遍歷集合(因為在一臺計算機上的共享文件夾名稱必須唯一,所以該集合中將只有一項),然后回顯 Path 屬性的值。您可能已經(jīng)猜到了,Path 屬性告訴我們 atl-fs-01 上的文件夾的本地路徑:
D:/Scripts/Public
這就是您要獲得一個 UNC 路徑并確定本地文件夾路徑需要做的一切。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广平县| 思茅市| 楚雄市| 高平市| 邹平县| 元阳县| 株洲市| 济源市| 兴宁市| 白山市| 灌阳县| 潼南县| 新源县| 永州市| 柏乡县| 定远县| 湖口县| 长沙县| 新巴尔虎左旗| 通山县| 宜丰县| 巨鹿县| 库车县| 梁河县| 通城县| 基隆市| 泉州市| 金昌市| 巧家县| 永善县| 科技| 白城市| 乌兰县| 澄城县| 安龙县| 隆回县| 玛多县| 彰化市| 勃利县| 唐河县| 正宁县|