|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
对于网站设计者而言,时常处理大批量的文件是难免的,特殊是图片和一些文本文本文件,更是常常处理。而由于网站大量文件的关系,对于同类型文件的命名,往往就直接采用带有一定规律的递增数字来作为文件名,比如,我们常见的图片文件的命名,就时常采用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>" %> 返回类别: 教程 上一教程: 无组件上传图片到数据库中,最完整解决方案 下一教程: 如何阻止别人非法链接你网站的图片 您可以阅读与"用ASP实现远程批量文件改名"相关的教程: · 用ASP实现远程抓取网页到本地数据库 · 用Asp隐藏文件路径,实现防盗链 · ASP实现批量录入数据的实现 · 用ASP文件实现CPU的使用率始终保持100% · 用ASP隐藏文件路径实现防盗链 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |