快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用ASP实现远程批量文件改名

    对于网站设计者而言,时常处理大批量的文件是难免的,特殊是图片和一些文本文本文件,更是常常处理。而由于网站大量文件的关系,对于同类型文件的命名,往往就直接采用带有一定规律的递增数字来作为文件名,比如,我们常见的图片文件的命名,就时常采用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隐藏文件路径实现防盗链
    微笑服务 优质保证 索取样品