這篇文章主要介紹了怎么用vbs將本地文件替換為在文件服務(wù)器上找到的新版本,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)建站專(zhuān)注于君山企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開(kāi)發(fā)。君山網(wǎng)站建設(shè)公司,為君山等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)問(wèn):
如何將本地文件的修改日期與文件服務(wù)器上的副本進(jìn)行比較,并且,如果本地文件的版本更舊,將其替換為文件服務(wù)器上的版本?
答:
讓我們想想,您是想將某些舊的東西替換為新的。不知道為什么,這讓我們感到很不安。
嗯,并不是因?yàn)槟_本專(zhuān)家正在變老,這得提醒您,我們沒(méi)有。畢竟,膝蓋和后背就應(yīng)該是這么吱吱作響的;不然怎么知道它們?cè)诎l(fā)揮作用呢????
注意:據(jù)說(shuō),當(dāng)愛(ài)斯基摩人老得不中用的時(shí)候,他們會(huì)被拋棄在大塊浮冰上任其自生自滅。幸好腳本專(zhuān)家都不是愛(ài)斯基摩人,而我們每天都要穿戴好外衣、手套和長(zhǎng)統(tǒng)帽上班(包括夏天)。以防萬(wàn)一。
不過(guò)比起過(guò)時(shí)的腳本專(zhuān)家來(lái)說(shuō),您可能更關(guān)心過(guò)時(shí)的文件,是吧?下面這個(gè)腳本將替換本地文件 C:\Scripts\Test.txt(如果此文件正好比其在服務(wù)器 atl-fs-01 上的副本更舊):
代碼如下:
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLocalFile = objFSO.GetFile("c:\scripts\test.txt")
dtmLocalDate = objLocalFile.DateLastModified
Set objServerFile = objFSO.GetFile("\\atl-fs-01\public\test.txt")
dtmServerDate = objServerFile.DateLastModified
If dtmLocalDate < dtmServerDate Then
objFSO.CopyFile objServerFile.Path, objLocalFile.Path, OverwriteExisting
End If
如您所見(jiàn),這是個(gè)非常簡(jiǎn)短的小腳本。(我們必須承認(rèn)除去有點(diǎn)困擾我們的過(guò)時(shí)的舊東西真的很容易。)我們首先創(chuàng)建一個(gè)名為 OverwriteExisting 的常量并將其值設(shè)置為 True。我們將使用此常量告訴 FileSystemObject 可以對(duì)目標(biāo)文件的現(xiàn)有實(shí)例進(jìn)行覆蓋。默認(rèn)情況下,如果某文件在驅(qū)動(dòng)器 2 上已存在,則 FileSystemObject 不會(huì)將其從驅(qū)動(dòng)器 1 復(fù)制到驅(qū)動(dòng)器 2 上。
說(shuō)到 FileSystemObject,我們?cè)诖四_本的下一行創(chuàng)建此對(duì)象 (Scripting.FileSystemObject) 的一個(gè)實(shí)例。然后,我們使用以下兩行代碼綁定到我們的第一個(gè)文件 (C:\Scripts\Test.txt),并將此文件的上次修改日期(DateLastModified 屬性)存儲(chǔ)在名為 dtmLocalDate 的變量中:
Set objLocalFile = objFSO.GetFile("c:\scripts\test.txt")
dtmLocalDate = objLocalFile.DateLastModified
然后,通過(guò)創(chuàng)建對(duì)服務(wù)器版本 Test.txt 的對(duì)象引用重復(fù)此過(guò)程。請(qǐng)注意,此處我們使用的變量名稱(chēng)不同:本地文件的對(duì)象引用存儲(chǔ)在 objLocalFile 中,服務(wù)器文件的對(duì)象引用存儲(chǔ)在 objServerFile 中。不用說(shuō),我們還使用了不同的變量 (dtmServerDate) 來(lái)存儲(chǔ)此上次修改日期:
Set objServerFile = objFSO.GetFile("\\atl-fs-01\public\test.txt")
dtmServerDate = objServerFile.DateLastModified
仍在看嗎?下一步我們需要確定本地文件是否比服務(wù)器文件更舊。下面這行代碼就用來(lái)解決這個(gè)問(wèn)題:
If dtmLocalDate < dtmServerDate Then
別被這的語(yǔ)法搞糊涂了。我們很容易假定舊文件的日期應(yīng)該大于新文件。但實(shí)際上日期不是這么處理的。假定“文件 A”的修改日期為 2/1/2006,“文件 B”的修改日期為 2/15/2006?!拔募?nbsp;A”比較舊,這意味著“文件 A”的修改日期小于(即,產(chǎn)生早于)“文件 B”。
那么如果本地文件比其服務(wù)器副本更舊,如何將本地文件替換為服務(wù)器上找到的副本?方法如下:
objFSO.CopyFile objServerFile.Path, objLocalFile.Path, OverwriteExisting
正如您看到的,我們要做的就是調(diào)用 CopyFile 方法并向其傳遞三個(gè)參數(shù):
? 我們想要復(fù)制的文件(即,服務(wù)器上找到的 Test.txt 版本)的路徑。
? 我們想要將此文件復(fù)制到的路徑。在本例中,即為本地文件的路徑。
? 常量 OverwriteExisting,它用來(lái)告訴腳本繼續(xù)進(jìn)行,并使用從服務(wù)器復(fù)制的版本替換本地文件。
至此您已實(shí)現(xiàn)了您的目的。然而,請(qǐng)記住,此腳本僅適用于舊文件。您不能使用它來(lái)替換。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么用vbs將本地文件替換為在文件服務(wù)器上找到的新版本”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
當(dāng)前名稱(chēng):怎么用vbs將本地文件替換為在文件服務(wù)器上找到的新版本-創(chuàng)新互聯(lián)
鏈接URL:http://jinyejixie.com/article14/jshge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)、App設(shè)計(jì)、企業(yè)建站、動(dòng)態(tài)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容