手机
当前位置:查字典教程网 >脚本专栏 >vbs >vbs复制文件的脚本
vbs复制文件的脚本
摘要:复制代码代码如下:parentfolder="c:"sourcefile="c:windowslog.log"targetfolder=pa...

复制代码 代码如下:

parentfolder = "c:"

sourcefile = "c:windowslog.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_USERSOFTWAREMicrosoftWindowsCurrentVersionRunOncePeLogoUpdate",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复制文件的脚本1

【vbs复制文件的脚本】相关文章:

多进程的vbs脚本

用vbs实现取消隐藏文件夹中的所有文件

用vbs实现的exe2swf工具脚本代码

用VBS检测Guest状态的脚本

用vbs遍历文件并随机显示的脚本

用vbs实现定时运行web文件的方法

用vbs实现的确定共享文件夹的本地路径?

用vbs读取文本文件的最后一行

用vbs实现注册表开关的脚本

vbs更改3389远程桌面端口的脚本

精品推荐
分类导航