上一篇:Cookie和会话状态 >>
用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>"
%>(计算机世界网)
下一篇:初学.net遇到的问题:数据库访问连接问题 >>
相关文章:
- · ASP能否调用notes的数据
- · 利用ASP打造网站论坛DIY
- · “IT列国”之“鸡鸣狗盗”--小议普通项目组成员对项目的作用
- · “IT列国”之“毛遂自荐”--浅谈一个优秀项目经理的基本素质
- · 参数传递解决window.open的session变量丢失
- · DHTML技巧--网页文字选取
- · 显示资料搜寻中的百分比
- · 用ASP获取别的网页的内容
- · 掌握ASP其实只需要6步
- · 运行asp脚本的asp脚本(原作:V37)
- · 在ASP.NET中创建自定义配置节(翻译)
- · 怎么学习asp 给非专业的asp爱好者
- · ASP中存储过程调用的两种方式及比较
- · 初看ASP-针对初学者
- · 在ASP中使用SQL语句之1:SELECT 语句
- · include文件的利弊及其安全性
- · 对初学者的:自助友情链接(企业在线管理)来做着玩一下...(一
- · 加密你的ASP页面—Script Encoder初探
- · ASP初学者参考!
- · 整理了一些ASP初学者常用的代码
- · ASP中一个字符串处理类(加强)(VBScript)
- · WEB环境下办公自动化文档修改痕迹保留的实现
- · 用stream读文件
- · ASP初学者参考!
- · 关于asp调试出错信息
- · 对文件夹操作2
- · 对文件的操作1
- · 如何动态ASP文件
- · 不用组件的简单分页
- · 鼠标在文本上移动时层的显示与消失
- · ASP 编程中 20 个非常有用的例子——适合初学者
- · 什么是Global.asa文件
- · ASP初学者怎样快速入门
- · asp学习入门经验谈
- · 关于#include的说明
- · 跟我学做留言本(二)
- · 遍历目录以及目录下文件的函数
- · 如何取得所有的Session变量
