您现在的位置: PQ秀秀网 >> PQ知道 >> 正文 用户登录 新用户注册
如何对某一个文件夹下的所有文件批量重命名 Web 开发 / ASP
作者:佚名    文章来源:不详    点击数:加载中...    更新时间:2008-7-12 字体:[ ]
添加到收藏: 添加到百度收藏  收藏到QQ书签  添加到雅虎收藏  添加到新浪ViVi  添加到天极网摘  添加到和讯网摘

如何对某一个文件夹下的所有文件批量重命名

楼主chunfeng007(61秒)2006-12-22 10:40:46 在 Web 开发 / ASP 提问

我想对我的上千个文件按照统一的规则进行重命名.请问如何实现? 问题点数:20、回复次数:8Top

1 楼deknight(追逐梦想)回复于 2006-12-22 10:46:39 得分 2

用FSO应该可以吧,暂时没思路。。。Top

2 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-12-22 11:11:01 得分 3

可以呀,  
  方法一:  
  <%  
  Dim   fso  
        Set   fso   =   CreateObject("Scripting.FileSystemObject")  
      fso.MoveFile   server.mappath("tupian.jpg"),server.mappath("图片.jpg")  
        Set   fso=Nothing  
  %>  
   
  方法二:  
  <%  
  Dim   fso,f  
        Set   fso   =   CreateObject("Scripting.FileSystemObject")  
                  Set   f   =   fso.GetFile(server.mappath("tupian.jpg"))  
                                  f.name="图片.jpg"  
                  Set   f=Nothing  
        Set   fso=Nothing  
  %>  
  Top

3 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-12-22 11:14:22 得分 3

再搞过for   each循环就行了Top

4 楼deknight(追逐梦想)回复于 2006-12-22 11:14:30 得分 3

楼上的,他的文件都不是有规律的名称Top

5 楼webmm(一笑而过)回复于 2006-12-22 11:31:01 得分 3

这种重命名,要考虑到你在服务器的权限,事实上,最好的解决方法,是增加文件时就已经按规则命名再保存在目录中,而不是重命名,因为你的旧文件的名字是否有规律?没有规律的话,你也没办法用代码来修改的。  
   
  如果已经存在于目录中,而要统一更名,楼主不妨用一些程序或软件来实现,比如acdsee6.0或其它文件管理工具。再已经更名后,保证新加文件的规则统一。Top

6 楼lingyu1983(sot)回复于 2006-12-22 11:31:53 得分 3

这样应该可以的,不过要自己调试一下  
  <%@   Language=VBScript   %>  
  <%  
          function   bianli(path)  
                  dim   fso                         'fso对象  
                  dim   objFolder             '文件夹对象  
                  dim   objSubFolders     '子文件夹集合  
                  dim   objSubFolder       '子文件夹对象  
                  dim   objFiles               '文件集合  
                  dim   objFile                 '文件对象  
   
                  set   fso=server.CreateObject("scripting.filesystemobject")          
                  on   error   resume   next  
                  set   objFolder=fso.GetFolder(path)'创建文件夹对象  
                  set   objSubFolders=objFolder.Subfolders'创建的子文件夹对象  
                  for   each   objSubFolder   in   objSubFolders    
   
                          nowpath=path   +   "/"   +   objSubFolder.name  
                          Response.Write   nowpath  
                          set   objFiles=objSubFolder.Files  
  i=10  
                          for   each   objFile   in   objFiles  
  i=i+1  
  thefilename=nowpath&"/"&i&".txt"  
  'response.write(thefilename)  
                                  Response.Write   "<br>---"  
                                  Response.Write   objFile.name  
  filename=nowpath&"/"&objFile.name  
  'filename=path  
  fso.movefile   filename,thefilename  
  response.write"<br>---"  
  response.write   thefilename  
                          next  
                          Response.Write   "<p>"  
                          bianli(nowpath)         '调用递归  
                  next    
                  set   objFolder=nothing  
                  set   objSubFolders=nothing  
                  set   fso=nothing  
          end   function  
  %>  
  <%  
          bianli("d:/bianli")   '调用bianli()函数,这里是遍历d:  
  %>Top

7 楼feillex(sex="Male",married=False)回复于 2006-12-22 11:38:22 得分 3

不规则也可以的  
  用folder.files可以获取一个目录下的所有文件然后用循环进行重命名  
   
  <%  
  Dim   fso,folders,files,f,i  
        Set   fso   =   server.CreateObject("Scripting.FileSystemObject")  
                  Set   folders   =   fso.GetFolder(server.mappath("pic"))   '获取pic文件夹对象  
                  set   files=folder.files       '获取pic文件夹下所有文件  
                  i=1  
                  for   each   f   in   files  
                                  f.name="图片"&i&".jpg"  
                                  i=i+1  
                  next  
   
        Set   fso=Nothing  
  %>  
  Top

8 楼chunfeng007(61秒)回复于 2006-12-22 11:54:21 得分 0

好了,谢谢名位.这就给分.Top

文章录入:andy    责任编辑:andy 
  网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)