我们使用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>"
%>
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!