源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

vbs复制文件的脚本

  • 时间:2020-08-20 14:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:vbs复制文件的脚本
[u]复制代码[/u] 代码如下:
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)
经过最近的需要写出了如下代码,可以判断文件是否更新并且文件大小更大
[u]复制代码[/u] 代码如下:
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
下面来个功能更多的代码:
[u]复制代码[/u] 代码如下:
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脚本如下
[u]复制代码[/u] 代码如下:
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,放入两个文件,运行程序结果如下 [img]http://files.jb51.net/file_images/article/201404/20140421224149.png[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部