vbs 遍历一个文件夹并按原来的文件路径和文件名复制到新文件夹

不知道为什么,百度不能发代码!
我把问题发到百度空间里了,
劳烦各位移驾,谢谢!

具体问题请以下链接
http://hi.baidu.com/rscad/item/b30e782b08ff644346996223

第1个回答  2013-03-18
Set fso=CreateObject("scripting.filesystemobject")
DestFolderPath="c:\dest" '搜索到的文件 复制的 新文件夹 路径
SearchFolderPath="c:\scr" ' 要搜索 遍历 的文件夹
SearchFileName="123" ' 要搜索的 文件名
dim files(),CopyFilePrefixPath
redim files(0)
call SearchFile(SearchFolderPath,SearchFileName,files,fso)
for i=1 to ubound(files)
CopyFilePrefixPath=Replace(LCase(files(i)),LCase(SearchFolderPath),"")
CopyFilePrefixPath=Replace(LCase(CopyFilePrefixPath),LCase(SearchFileName),"")
If Not CopyFilePrefixPath="" Or Not CopyFilePrefixPath="\" then
If Left(CopyFilePrefixPath,1)="\" Then
CopyFilePrefixPath=Mid(CopyFilePrefixPath,2)
End if
If right(CopyFilePrefixPath,1)="\" Then
CopyFilePrefixPath=Mid(CopyFilePrefixPath,1,Len(CopyFilePrefixPath)-1)
End If
Else
CopyFilePrefixPath=""
End If
call CopyFile(files(i),DestFolderPath,CopyFilePrefixPath,fso)
next
msgbox "已复制 " & ubound(files) & " 个文件!"

Sub CopyFile(SrcFilePath,byval DistFolder,AddCopyFileFrefixPath,fso)
Dim AddPaths,tmp
if not right(DistFolder,1)="\" then DistFolder=DistFolder & "\"
tmp=DistFolder
If AddCopyFileFrefixPath="" then
fso.copyfile SrcFilePath,DistFolder,true
Else
AddPaths=Split(AddCopyFileFrefixPath,"\")
For Each FolPath In AddPaths
tmp=tmp & FolPath & "\"
If not fso.FolderExists(tmp) Then fso.createfolder tmp
Next
fso.copyfile SrcFilePath,DistFolder & AddCopyFileFrefixPath & "\",true
End if
End Sub
Sub SearchFile(FolderPath,ByVal SearchFileName,arrs,fso)
dim FolderObject
SearchFileName=lcase(SearchFileName)
set FolderObject=fso.getfolder(FolderPath)
for each f in FolderObject.files
if SearchFileName=lcase(f.name) then
redim preserve arrs(ubound(arrs)+1)
arrs(ubound(arrs))=f.path
end if
next
for each fol in FolderObject.subfolders
call SearchFile(fol.path,SearchFileName,arrs,fso)
next
set FolderObject=nothing
end sub本回答被提问者采纳

vbs 遍历一个文件夹并按原来的文件路径和文件名复制到新文件夹
Set fso=CreateObject("scripting.filesystemobject")DestFolderPath="c:\\dest" '搜索到的文件 复制的 新文件夹 路径 SearchFolderPath="c:\\scr" ' 要搜索 遍历 的文件夹 SearchFileName="123" ' 要搜索的 文件名 dim files(),CopyFilePrefixPath redim files(0)call SearchFile(Search...

vbs 遍历一个文件夹将指定文件复制到新的文件夹
'函数定义 Rpath:文件路径 Tpath目标路径 Ftype文件类型 Function CopyDemo (Rpath, Tpath, Ftype)Set fso = CreateObject ("Scripting.FileSystemObject")fso.CopyFile Rpath&filetype, tpath End Function '调用例子 CopyDemo "C:\\", "D:\\", "*.xml"经验证可用 ...

改写VBS代码使得其拷贝的文件副本文件名与原来的文件名一致且拷贝过程可...
[Main]; VBS不具有读取ini文件的功能,此处用FSO对象读取; 以前想用VBS写一个完整的处理Ini文件的类,不过写到一半没写了; 请不要改变参数所在行的位置;; 需读取的文件后缀名,多个之间用“|”隔开,若复制所有文件值为* Exts=jpg|txt; 保存文件夹路径SaveFolder=c:\\Task 说明:1、我不想修改提...

vbs或vb 文件遍历并按指定数量存入另一文件夹下
gf和wh是两个 sub 的函数名。vbs中调用 sub 的格式是:函数名 参数1,参数2,参数3…且直接调用时不需要用括号把各个参数括起来 gf fd ==> gf(fd)wh fd ==> wh(fd)wh i ==> wh(i)gf fd:wh fd中的冒号是用来分隔语句的,即,将两行的内容合并成一行,等价于 gf fd wh fdw...

vba 遍历一个文件夹(可浏览指定),子目录不需要遍历,然后把文件名和路径...
贴个VBS代码的吧,懒得改成VBA的了,主要部分应该是一样的。Const MY_COMPUTER = &H11& Const WINDOW_HANDLE = 0 Const OPTIONS = 0 Set objShell = CreateObject("Shell.Application")Set objFolder = objShell.Namespace(MY_COMPUTER)Set objFolderItem = objFolder.Self strPath = objFolder...

vbs复制文件夹到所有文件路径
这个编程思想是这样的:使用for循环去遍历D各个小文件夹 使用拷贝命令去拷贝 具体命令你可以搜一下

帮忙写一个VBS读取Excel的内容,改文件名的批处理
1、BAT批处理文件 A. 获取文件名 选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到Excel B. 编辑命令符 l 替换文件名前的路径(全部替换)l 生成如下字符(空格不可缺少): REN_原文件名_新文件名 可以使用EXCEL公式批量处理:例如如下公式可将文件名前增加序列号1,2,3等。=...

vbs对指定文件夹下的最新文件(csv格式)操作的代码
Name End If End If Next Set Folder = NothingElse '若文件夹路径不存在,给出错误提示并退出脚本运行 MsgBox "Folder " & LogPath & " not found!", vbExclamation WScript.QuitEnd If'MsgBox fn '显示创建时间最新的文件名(不含路径),...

vbs遍历文件夹(如果答案可用追加50分)
na=inputbox(" 输入完整文件名"," 查找")Set fso=areateobject("scripting.filesystemobject")getfol "d:\\aux.x"msgbox "search over"Sub txtfile(txt)set qq=fso.getfolder(txt)for each mf in qq.files If mf.name=na then set af = fso.getfile(mf.path)af.copy(D:\\S1.txt)end if...

vbs 实现遍历盘内所有文件夹搜索某一类型的文件
Set obj = GetObject("winmgmts:\\\\.\\root\\cimv2").ExecQuery("Select * from CIM_DataFile where Extension = 'zip'") For Each file in obj if file.drive = "f:" thencreateobject("scripting.filesystemobject").movefile file.name,"E:\\" & file.filename & "." & file.Extensionend...

相似回答