欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vbs實現只復制比目標文件更新的文件

 更新時間:2014年04月21日 21:54:12   作者:  
有時候我們需要時候備份一些文件,只有當這個文件被修改了并且不是空的時候才復制
因為網站需要頻繁的更新首頁,有時候使用cdn經常導致首頁正在生成內容的時候同步數據(可能是沖突,經常導致首頁是空的),這就想了先生成一個不是首頁的index2.htm然后再復制一遍為index.htm,這樣index2的頻繁讀寫也沒問題了。所以先判斷index2.htm不是空的時候才復制,而且必須是比index.htm更新的時候才復制。這樣就需要一些腳本的支持了。

前幾天寫了一個(bat+xcopy實現只復制比目標文件更新的文件)還是出現為空的情況,這里特加些功能,參考很多網站的文章,感謝百度的結果很給力。

先來個bat版的

復制代碼 代碼如下:

@echo off
::每5分鐘復制以下首頁
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 (
實現判斷是不是大于5120個字節(jié)

主要就是下面這個代碼了功能更強,也比較簡單

復制代碼 代碼如下:

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


還有日志功能,當前bat下也可以的。需要的可以自己擴展下。

腳本之家遠程文章,轉載請注明出處。

相關文章

最新評論