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

首頁 > 編程 > VBScript > 正文

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

2020-06-26 18:36:04
字體:
來源:轉載
供稿:網友
有時候我們需要時候備份一些文件,只有當這個文件被修改了并且不是空的時候才復制
 
因為網站需要頻繁的更新首頁,有時候使用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下也可以的。需要的可以自己擴展下。

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九寨沟县| 丹东市| 富宁县| 汝阳县| 邛崃市| 历史| 乐清市| 鞍山市| 广宁县| 河北区| 台北市| 温宿县| 呈贡县| 米泉市| 上思县| 石台县| 鄂温| 敖汉旗| 岳池县| 锡林浩特市| 蒲城县| 江永县| 陕西省| 桃源县| 温宿县| 巧家县| 噶尔县| 临洮县| 桑日县| 张家界市| 柳州市| 义马市| 晋城| 九龙县| 宜兴市| 镇康县| 衡阳市| 开江县| 金乡县| 托里县| 治多县|