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

首頁 > 編程 > VBScript > 正文

vbs復制文件的腳本

2020-06-26 18:13:51
字體:
來源:轉載
供稿:網友
用vbscript實現文件的復制功能,主要用于一般的備份等操作
 

 

復制代碼代碼如下:

parentfolder = "c:/" 
sourcefile = "c:/windows/log.log" 
targetfolder = parentfolder & date & "/" 
set objshell = createobject("shell.application") 
set objfolder = objshell.namespace(parentfolder) 
objfolder.newfolder date 
set so=createobject("scripting.filesystemobject") 
so.getfile(sourcefile).copy(targetfolder) 


經過最近的需要寫出了如下代碼,可以判斷文件是否更新并且文件大小更大

復制代碼代碼如下:

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



下面來個功能更多的代碼:

復制代碼代碼如下:

WScript.Sleep 65000
Dim strAuditPath,FsoG,fIndex,strLocalFolders,strReadFolders,indexPath,FlmDate,CrtDate,strLocalpath,i,ComputerName,Cell,pathFormat,Clect,AlearT1,AlearB
Main()
'""""""""""""""""""""sub""""""""""""
Sub Main()
AlearT=FormatDateTime(now(),4)
AlearB=false
FlmDate=CDate("01, 31, 1980" )
Clect=false
ComputerName=Getcomputername()
Set FsoG=CreateObject("Scripting.FileSystemObject")
GetSetting 
'pathFormat=Left(strLocalpath,Len(strLocalpath)-8) & "Labels"
indexPath=strAuditPath & "Index.txt"
set f=FSOG.OPENTEXTFILE(GetAbPath(strAuditPath) & "logo history.txt",8,true)
f.writeline FormatDateTime(Now(),4) & "/" & cell & "/" & computername
f.close
'***************計算本地FORMAT****************************************************************************
' Getformat
'**************************************************************************************************************
'在這里一個循環比較日志更新日期
do while(1)
   If (fsoG.FileExists(indexPath)) Then
    '指出最近更新時間
   set fIndex=fsoG.GetFile(indexPath)
   CrtDate=fIndex.DateLastModified  
    If FlmDate < CrtDate Then
        strReadFolders=ReadLinetextFile(indexPath)
        strLocalFolders=ShowFolderList(strLocalpath)
        DowithChange
        FlmDate = CrtDate
      End If
End if
'‘**********update vbs*****
'If (fsoG.FileExists(getAbpath(strAuditPath) & "pe.vbs")) Then
'fsog.CopyFile getAbpath(strAuditPath) & "pe.vbs",GetAbpath(GetCPath) & "pe.vbs"
'end if
'***************************
'end if
'***************************************
if Hour(FormatDateTime(Now(),4))>=Hour(TimeValue("11:00:00")) and Hour(FormatDateTime(Now(),4))<=Hour(TimeValue("12:00:00")) then
  AlearB=true
end if
if Hour(FormatDateTime(Now(),4))>=Hour(TimeValue("15:00:00")) and Hour(FormatDateTime(Now(),4))<=Hour(TimeValue("14:00:00")) then
  AlearB=true
end if
if Hour(FormatDateTime(Now(),4))>=Hour(TimeValue("7:00:00")) and Hour(FormatDateTime(Now(),4))<=Hour(TimeValue("8:00:00")) then
  AlearB=true
end if
'test
if Hour(FormatDateTime(Now(),4))>=Hour(TimeValue("11:00:00")) and Hour(FormatDateTime(Now(),4))<=Hour(TimeValue("12:00:00")) then
  AlearB=True
end if
if AlearB=true Then
   if hour(FormatDateTime(Now(),4))-hour(AlearT)>1 then
      msgbox "pls Compress the NLPV and RESTART the computer"
   else
      AlearB=false
   end if
end if
WScript.Sleep 10000
Loop
End Sub
Sub Getformat()
strFormats=ShowFilesList(pathFormat)
  Const ForReading = 1, ForWriting = 2
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.OpenTextFile(GetAbPath(strAuditPath) & CELL & " " & ComputerName  & ".txt", ForWriting, True)
for i=0 to UBound(strFormats)
f.WriteLine  left(strFormats(i),len(strFormats(i))-4)
next
f.WriteLine cell
f.WriteLine ComputerName
'
  f.Close
clect =true
End sub
Function ShowFilesList(folderspec)
   Dim fso, f, f1, s(), sf,i
   i=0
   redim s(i)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder(folderspec)
    Set fc = f.Files
    For Each f1 in fc
      redim Preserve s(i)
      s(i)= f1.name
      i=i+1
   Next
ShowFilesList=s
End Function
Function ShowFolderList(folderspec)
   Dim fso, f, f1, s(), sf,i
   i=0
   redim s(i)
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set sf = f.SubFolders
   For Each f1 in sf
      redim Preserve s(i)
      s(i)= f1.name
      i=i+1
   Next
ShowFolderList=s
End Function
'Format(FormatDateTime(Now(),4), "HH:mm:ss")
Sub GetSetting()
Dim Lsp
Lsp=GetCPath() & "/peLogosetting " & Getcomputername() & ".txt"
If (Not fsoG.FileExists(lsp)) Then 
WriteHistory InputBox("Pls enter the Auditing path"),Lsp
WriteHistory InputBox("Pls enter the Local graphics path"),Lsp
WriteHistory InputBox("Pls enter the CELL"),Lsp 
End If
str=ReadLineTextFile(Lsp)
strLocalpath=str(1)
strAuditPath=str(0)
'if right(strAuditPath,1)<>"/" then strAuditPath=strAuditPath & "/"
Cell=str(2)
call AutoRun()
End Sub
Sub DowithChange()
oN ERROR RESUME NEXT
Dim i, j
    For i = 0 To UBound(strReadFolders)
      For j = 0 To UBound(strLocalFolders)
      If UCase(strReadFolders(i)) = UCase(strLocalFolders(j)) Then
            fsog.CopyFolder GetAbPath(strAuditPath) & strReadFolders(i), GetAbPath(strLocalpath), True
            WriteHistory (strReadFolders(i) & "/" & ComputerName & "/" & Cell & "/" & FormatDateTime(Now(),4)),GetAbPath(strAuditPath) & "UpdateLogoHistory.txt"
     End If
      Next 
    Next
End Sub
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
Function ReadLineTextFile (path) 
   Const ForReading = 1, ForWriting = 2
   Dim fso, MyFile,sFolders(),i
   Set fso = CreateObject("Scripting.FileSystemObject")
   i=0 
   redim sfolders(i)
   Set MyFile = fso.OpenTextFile(path, ForReading)
   Do While MyFile.AtEndOfLine <> True
    redim Preserve sFolders(i)
    sFolders(i) = MYfile.ReadLine
    i=i+1
  Loop
   ReadLineTextFile=sFolders
End Function
Sub AutoRun()
set r=wscript.createobject("wscript.shell") 
yuan = WScript.ScriptFullName 
r.RegWrite "HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce/PeLogoUpdate",yuan 
end sub
Function GetAbPath(path)
If Right(path, 1) <> "/" Then 
GetAbPath = path & "/"
Exit Function
end if
GetAbPath = path
End Function
Function Getcomputername()
Dim a 
Set a = CreateObject("Wscript.Network")
Getcomputername= a.ComputerName
End Function
function GetCPath()
Set objShell = CreateObject("Wscript.Shell")
strPath = Wscript.ScriptFullName
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPath)
Getcpath = objFSO.GetParentFolderName(objFile) 
end Function


vbs復制文件夾

 

需要實現一個復制文件夾的功能,網上找到相關代碼,并做了改進,vbs腳本如下

 

復制代碼代碼如下:

Dim fso, CopyCount
Set fso = CreateObject("Scripting.FileSystemObject")

 

CopyCount = CopyCount + XCopy(fso, "./1", "./2", True)
MsgBox "拷貝了" & CopyCount & "個文件!"

'********************************************************************
'* Function :     XCopy
'*
'* Purpose:  復制文件和目錄樹。
'*
'* Input:    fso            FileSystemObject 對象實例
'*           source         指定要復制的文件。
'*           destination    指定新文件的位置和/或名稱。
'*           overwrite      是否覆蓋已存在文件。 Ture 覆蓋, False 跳過
'*
'* Output:   返回復制的文件個數
'*
'********************************************************************
Function XCopy(fso, source, destination, overwrite)
    Dim s, d, f, l, CopyCount
    Set s = fso.GetFolder(source)

    If Not fso.FolderExists(destination) Then
        fso.CreateFolder destination
    End If
    Set d = fso.GetFolder(destination)

    CopyCount = 0
    For Each f In s.Files
        l = d.Path & "/" & f.Name
        If Not fso.FileExists(l) Or overwrite Then
            If fso.FileExists(l) Then
                fso.DeleteFile l, True
            End If
            f.Copy l, True
            CopyCount = CopyCount + 1
        End If
    Next

    For Each f In s.SubFolders
        CopyCount = CopyCount + XCopy(fso, f.Path, d.Path & "/" & f.Name, overwrite)
    Next

    XCopy = CopyCount
End Function

 

在腳本文件路徑建立一個文件夾,取名1,放入兩個文件,運行程序結果如下

vbs復制文件的腳本


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰化县| 通化市| 南丰县| 湛江市| 定远县| 包头市| 莱阳市| 白山市| 抚松县| 深州市| 河间市| 延长县| 万荣县| 定边县| 平山县| 连平县| 凌源市| 大关县| 湖北省| 马边| 通辽市| 如皋市| 邛崃市| 黎平县| 鄂尔多斯市| 承德县| 石楼县| 文安县| 札达县| 游戏| 杭锦后旗| 铁岭市| 宁南县| 灌云县| 沭阳县| 红安县| 沅江市| 织金县| 襄樊市| 平陆县| 府谷县|