在一些朋友的帮助下,我做了这段代码,根据文件扩展名将文件复制到不同的文件夹。我计划每十分钟运行一次这样的脚本,所以每当它复制一个新文件时,它应该以文本格式记录以驱动C.是否可能?请帮助我。
Set fso = CreateObject("Scripting.FileSystemObject")
Set testfolder = CreateObject("Scripting.Dictionary")
testfolder.CompareMode = vbTextCompare 'case-insensitive
testfolder.Add "env", "D:\env"
testfolder.Add "ikey", "D:\key"
'fso.CreateFolder(testfolder)
CopyFiles fso.GetFolder("D:\source")
Sub CopyFiles(fldr)
For Each f In fldr.Files
basename = fso.GetBaseName(f)
extension = fso.GetExtensionName(f)
If testfolder.Exists(extension) Then
dest = fso.BuildPath(testfolder(extension), f.Name)
If Not fso.FileExists(dest) Then f.Copy dest
End If
Next
For Each sf In fldr.SubFolders
CopyFiles sf
Next
End Sub
答案 0 :(得分:1)
您需要为此创建一个新对象,然后写入文件。
所以,你需要
dim fs,fi
Set fs= CreateObject("Scripting.FileSystemObject")
Set fi=fs.CreateTextFile("testFile.txt",true, -1)
Set fso = CreateObject("Scripting.FileSystemObject")
Set testfolder = CreateObject("Scripting.Dictionary")
testfolder.CompareMode = vbTextCompare 'case-insensitive
testfolder.Add "env", "D:\env"
testfolder.Add "ikey", "D:\key"
'fso.CreateFolder(testfolder)
CopyFiles fso.GetFolder("D:\source")
Sub CopyFiles(fldr)
For Each f In fldr.Files
basename = fso.GetBaseName(f)
extension = fso.GetExtensionName(f)
If testfolder.Exists(extension) Then
dest = fso.BuildPath(testfolder(extension), f.Name)
End If
If Not fso.FileExists(dest) Then
f.Copy dest
fi.writeline("This file copied") ' THIS IS WHERE THE FAULT IS
End If
Next
For Each sf In fldr.SubFolders
CopyFiles sf
Next
fi.close
set f=nothing
set fs=nothing
End Sub