如何对某一个文件夹下的所有文件批量重命名
楼主chunfeng007(61秒)2006-12-22 10:40:46 在 Web 开发 / ASP 提问我想对我的上千个文件按照统一的规则进行重命名.请问如何实现? 问题点数:20、回复次数:8Top
1 楼deknight(追逐梦想)回复于 2006-12-22 10:46:39 得分 2
用FSO应该可以吧,暂时没思路。。。Top
2 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-12-22 11:11:01 得分 3
可以呀,
方法一:
<%
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile server.mappath("tupian.jpg"),server.mappath("图片.jpg")
Set fso=Nothing
%>
方法二:
<%
Dim fso,f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(server.mappath("tupian.jpg"))
f.name="图片.jpg"
Set f=Nothing
Set fso=Nothing
%>
Top
3 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-12-22 11:14:22 得分 3
再搞过for each循环就行了Top
4 楼deknight(追逐梦想)回复于 2006-12-22 11:14:30 得分 3
楼上的,他的文件都不是有规律的名称Top
5 楼webmm(一笑而过)回复于 2006-12-22 11:31:01 得分 3
这种重命名,要考虑到你在服务器的权限,事实上,最好的解决方法,是增加文件时就已经按规则命名再保存在目录中,而不是重命名,因为你的旧文件的名字是否有规律?没有规律的话,你也没办法用代码来修改的。
如果已经存在于目录中,而要统一更名,楼主不妨用一些程序或软件来实现,比如acdsee6.0或其它文件管理工具。再已经更名后,保证新加文件的规则统一。Top
6 楼lingyu1983(sot)回复于 2006-12-22 11:31:53 得分 3
这样应该可以的,不过要自己调试一下
<%@ Language=VBScript %>
<%
function bianli(path)
dim fso 'fso对象
dim objFolder '文件夹对象
dim objSubFolders '子文件夹集合
dim objSubFolder '子文件夹对象
dim objFiles '文件集合
dim objFile '文件对象
set fso=server.CreateObject("scripting.filesystemobject")
on error resume next
set objFolder=fso.GetFolder(path)'创建文件夹对象
set objSubFolders=objFolder.Subfolders'创建的子文件夹对象
for each objSubFolder in objSubFolders
nowpath=path + "/" + objSubFolder.name
Response.Write nowpath
set objFiles=objSubFolder.Files
i=10
for each objFile in objFiles
i=i+1
thefilename=nowpath&"/"&i&".txt"
'response.write(thefilename)
Response.Write "<br>---"
Response.Write objFile.name
filename=nowpath&"/"&objFile.name
'filename=path
fso.movefile filename,thefilename
response.write"<br>---"
response.write thefilename
next
Response.Write "<p>"
bianli(nowpath) '调用递归
next
set objFolder=nothing
set objSubFolders=nothing
set fso=nothing
end function
%>
<%
bianli("d:/bianli") '调用bianli()函数,这里是遍历d:
%>Top
7 楼feillex(sex="Male",married=False)回复于 2006-12-22 11:38:22 得分 3
不规则也可以的
用folder.files可以获取一个目录下的所有文件然后用循环进行重命名
<%
Dim fso,folders,files,f,i
Set fso = server.CreateObject("Scripting.FileSystemObject")
Set folders = fso.GetFolder(server.mappath("pic")) '获取pic文件夹对象
set files=folder.files '获取pic文件夹下所有文件
i=1
for each f in files
f.name="图片"&i&".jpg"
i=i+1
next
Set fso=Nothing
%>
Top
8 楼chunfeng007(61秒)回复于 2006-12-22 11:54:21 得分 0
好了,谢谢名位.这就给分.Top
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |








网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)