| 广告招租,e-mail:yesize@hotmail.com
|
|
广告招租,e-mail:yesize@hotmail.com
对于网站设计者而言,时常处理大批量的文件是难免的,特别是图片和一些文本文本文件,更是经常处理。而由于网站大量文件的关系,对于同类型文件的命名,往往就直接采用带有一定规律的递增数字来作为文件名,比如,我们常见的图片文件的命名,就时常采用1001.jpg、1002.jpg这种方式,这样的好处是文件名不会重复,容易管理。这里,我们专门介绍一种简单易行的方法来实现对任意文件夹下的所有文件进行批量改名,当然,改名以后的文件名,是根据网站设计者的需要,按照数字进行递增的。 我们使用ASP来实现以上功能,需要注意的是,因为设计到文件操作,使用FileSystemObject对象,所以,该功能的实现要在具有文件操作权限的网站进行。一般的虚拟注意,考虑到安全要求,可能不会给予文件存在权限,这是我们首先需要注意的;另外,在下面的程序中,我们将操作指定文件夹strFromDir中的所有文件,只要是这个文件夹中的文件,无论文件类型如何,程序都会对其进行文件改名操作,当然,文件类型是不会进行改变的,改名以后的文件,将不在保存在原文件夹,而是移动到新的文件夹strTargetDir,注意,我们这里是移动,不是拷贝,所以,进行操作以后,原文件夹中所有的文件都将不存在;程序很好的利用了FileSystemObject对象提供的各种属性和特征,实现的时候简单明了,使用其他语言编程的朋友可能会感受深刻;现在,我们就来看功能实现代码: <% @LANGUAGE = VBSCRIPT %> <%Option Explicit%> <% 以下程序批量改名文件夹中的文件名,并将所有文件移动到新的文件夹; Response.Write <html> & VbCrLf & <head> & VbCrLf Response.Write <title>批量文件改名</title> & VbCrLf Response.Write </head> & VbCrLf & <body> & VbCrLf 变量说明 Dim gbolGoProcedure Dim strFromDir 源文件夹 Dim strTargetDir 目标文件夹 Dim objFS Dim objRootFolder Dim objFile Dim strFileNameLen Dim strPrevFileName Dim strFileExt 文件扩展名 Dim strFileNameCount Dim strNewFileName Dim strRealCount 处理的文件数量 gbolGoProcedure = False 如果点击了开始按钮,进行以下处理 If (Request.Form(GoButton)) = 开 始 then 指定源文件夹、目标文件夹 strFromDir = D:test\ strTargetDir = D:\test1\ 将处理文件数量设置为0 strRealCount = 0 Set objFS = Server.CreateObject(Scripting.FileSystemObject) Set objRootFolder = objFS.GetFolder(strTargetDir) 文件名的具体设置,这里设置为100001,表明文件名将从100001 开始,逐步递增,可以根据需要设置; strFileNameCount = 100001 For each objFile in objRootFolder.Files 对于特定的文件,不进行处理,可以根据需要设置; If objFile.Name = Thumbs.db then strFileNameCount = StrFileNameCount - 1 strFileNameCount = strFileNameCount + 1 Next Set objRootFolder = objFS.GetFolder(strFromDir) For each objFile in objRootFolder.Files strFileNameLen = Len (objFile.Name) If Mid (objFile.Name,(strFileNameLen - 3),1) = . then strFileExt = right(objFile.Name, 4) Else strFileExt = right(objFile.Name, 5) End If strPrevFileName = objFile.Name strNewFileName = strFileNameCount & strFileExt objFile.Move strTargetDir & strNewFileName Response.Write 源文件: &strFromDir&strPrevFileName & > 移动并改名为: &strTargetDir& strNewFileName & <br> & vbCrLF strFileNameCount = strFileNameCount + 1 strRealCount = strRealCount + 1 Next Response.Write <p><b>一共处理: & (strRealCount) & 个文件</B> & vbCrLf Set objRootFolder = Nothing Set objFS = Nothing gbolGoProcedure = True End If If gbolGoProcedure Then Response.Write(<p><b>批量文件批量移动和改名</b>) & vbCrLf Else Response.Write(<center><br><form method=post action=FileNameConverter.asp ID=form1 name=form1>) & vbCrLf Response.Write(<input type=SUBMIT value= 开 始 ID=GoButton name=GoButton>) & vbCrLf Response.Write(</form>) & vbCrLf Response.Write(<p><b>点击按钮对文件进行批量移动和改名</b></center>) & VbCrLf End If Response.Write </body> & VbCrLf & </html> %>
版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com |
|