利用FSO遍历文件,把文件名录入数据库

本文介绍了一个利用文件系统对象遍历文件夹并自动化将音乐资源(包括歌手、专辑及歌曲信息)入库到数据库的过程。该过程涉及到文件系统的遍历、数据库的操作及图片文件的特殊处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%
sclassname = "华人男歌手" 
a = 1
b = 1
c = 1
'做这个程序之前一定要设置超时时间,先研究一下原数据库, 
set objfso = server.createobject("scripting.filesystemobject")  '创建文件系统对象 
set objfolder = objfso.getfolder(server.mappath("./"))  '得到folder对象的实例 

for each abc in objfolder.subfolders
response.write "<br>"&abc.name&"<br>"
   for each geshou in abc.subfolders
         response.write "---"&a&":"&geshou.name&"<br>"
         a=a+1  
        '取得文件夹的名字作为歌手名,第一个参数为曙光音乐,第二个参数为华人男歌手,三个参数是歌手名字,四个参数是名字拼音 
        sql = "insert into nclass (classid,sclassid,nclass,abcd) values (1,1,'"&replace(geshou.name,"'","")&"','"&abc.name&"')"
        conn.execute (sql)        
        '取得歌手所在数据库的ID
        sql = "select nclassid from nclass"
        set rs = server.createobject("adodb.recordset")
        rs.open sql,conn,1,1
        rs.movelast
        nclassid = rs(0)
        rs.close
        set rs = nothing
        
        for each zhuanji in geshou.subfolders 
            response.write "----------"&b&":专集名:"&zhuanji.name&"<br>"
            b=b+1 
            '取得文件夹的名字作为专集的名字,参数为....
            sql = "insert into special (classid,sclassid,sclass,nclassid,nclass,name,yuyan,gongsi,pic,intro,times,hits) values (1,1,'"&sclassname&"',"&nclassid&",'"&replace(geshou.name,"'","")&"','"&replace(zhuanji.name,"'","")&"','中文','曙光音乐','待定','曙光管理员的音乐','"&now()&"',0)"
            conn.execute (sql)        
            '取得专集所在数据库的ID
            sql = "select specialid from special"
            set rs = server.createobject("adodb.recordset")
            rs.open sql,conn,1,1
            rs.movelast
            specialid = rs(0)
            rs.close
            set rs = nothing

                for each gequ in zhuanji.files   '得到一个files集合 
                     '把图片格式的文件放在专集的表里面作为专集的图片
                     if right(gequ.name,3)="gif" or right(gequ.name,3)="jpg" then
                        sql = "update special set pic='"&sclassname&"/"&abc.name&"/"&geshou.name&"/"&zhuanji.name&"/"&gequ.name&"' where specialid="&specialid
                        conn.execute sql
                     else
                     response.write c&":歌曲名:"&replace(gequ.name,right(gequ.name,4),"")
                     '把歌曲名字记入数据库,第一个参数是地址,第二个参数是名称,第三个参数是歌手名
                     sql = "insert into musiclist (wma,musicname,singer,classid,sclassid,nclassid,hits,specialid,song_path) values('"&sclassname&"/"&abc.name&"/"&geshou.name&"/"&zhuanji.name&"/"&gequ.name&"','"&replace(gequ.name,right(gequ.name,4),"")&"','"&geshou.name&"',1,1,"&nclassid&",0,"&specialid&",1)"
                     conn.execute sql
                     c = c+1 
                     end if
                 next
        next
        
   next 
next

set objfolder = nothing 
set objfso = nothing 
%> 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liulun

如果文章真帮到了你,谢谢您打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值