溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vbs如何實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件

發(fā)布時間:2021-09-29 17:09:28 來源:億速云 閱讀:181 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)vbs如何實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

因?yàn)榫W(wǎng)站需要頻繁的更新首頁,有時候使用cdn經(jīng)常導(dǎo)致首頁正在生成內(nèi)容的時候同步數(shù)據(jù)(可能是沖突,經(jīng)常導(dǎo)致首頁是空的),這就想了先生成一個不是首頁的index2.htm然后再復(fù)制一遍為index.htm,這樣index2的頻繁讀寫也沒問題了。所以先判斷index2.htm不是空的時候才復(fù)制,而且必須是比index.htm更新的時候才復(fù)制。這樣就需要一些腳本的支持了。
先來個bat版的
代碼如下:


@echo off
::每5分鐘復(fù)制以下首頁
for /f %%i in ('dir /b c:\index2.htm') do (
set indexdx=%%~zi
)
if %indexdx% gtr 5120 (
echo y | xcopy c:\index2.htm /d /r /k c:\index.htm
)


其中for /f %%i in ('dir /b c:\index2.htm') do (
set indexdx=%%~zi
)
是bat中獲取index2.htm文件大小的。

然后通過if %indexdx% gtr 5120 (
實(shí)現(xiàn)判斷是不是大于5120個字節(jié)

主要就是下面這個代碼了功能更強(qiáng),也比較簡單
代碼如下:


Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
set fn2=fso.GetFile("c:\index2.htm")
flsize2=fn2.size
fldate2=fn2.datelastmodified
set fn=fso.GetFile("c:\index.htm")
flsize1=fn.size
fldate1=fn.datelastmodified
If fso.FileExists("c:\index2.htm") and flsize2>50000 and fldate2>fldate1 Then
fso.getfile("c:\index2.htm").copy("c:\index.htm")
if err.number=0 then WriteHistory "成功"&now(),"log.txt"
end if

Sub WriteHistory(hisChars, path)
Const ForReading = 1, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(path, ForAppending, True)
f.WriteLine hisChars
f.Close
End Sub


還有日志功能,當(dāng)前bat下也可以的。需要的可以自己擴(kuò)展下。

關(guān)于“vbs如何實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vbs
AI