2012-04-02 29 views
0

相关所以这不工作不急:使用ColdFusion找到我的音乐

我发现一个帖子雷卡姆登here将递归特定的文件夹路径。我想扩展它以搜索我的电脑中的音乐文件。我知道我有重复,如果我能找到这些文件,我可以删除它们。

最终,我想建立一个音乐库/目录,这样我就可以停止两次购买相同的音乐(或在某些情况下三次 - 我尴尬承认,但它是这样)。我曾想过编写一个MS-DOS脚本来搜索结果并将结果输出到文件,然后遍历文件以将内容存储到数据库中。这似乎是一个比CF能做的更快的过程,更不用说脚本不会遇到'java.lang.OutOfMemoryError:Java heap space'问题了。

如果你知道类似的东西已经存在,你可以发布一个链接或给我你的两美分哪一种更好?我有几台驱动器,我已经购买了多年的新计算机,并且几乎所有的驱动器都有废话,因为其中有些驱动器现在是我的备份驱动器。

+0

如果我去MS-DOS路由,我只知道DIR或TREE命令。有没有更好的方法来搜索硬盘(通过ms-dos)比这些方法之一? – HPWD 2012-04-02 18:08:17

+2

除非这是为了好玩,否则为什么要重新发明轮子? [查找并删除重复的歌曲,Mp3,iTunes,iPod和音乐文件。](http://www.ashisoft.com/duplicate-songs-finder.htm) – 2012-04-02 18:08:38

+0

@JamesHill - 这是为了好玩,但一旦我得到这个调整对于音乐,我也想为我的电影,视频等做这个。然后,我要做的就是创建一个网页离我的网站,以便下次我在百思买,Block Buster,无论如何可以搜索我的数据库,并确保我没有电影,视频,歌曲等。但是,再次,是的,这是为了好玩。 – HPWD 2012-04-02 19:07:38

回答

0

我最终使用ms-dos批处理文件来扫描驱动器,使用以下开关dir /s /b *.mp3 *.wma *.m4a *.flac *.mp4 *.m4a *.m4v *.mp3PRO *.mp2 *.wav > music_files.txt,然后只是对该文件执行循环并将记录插入到我的sql数据库中。我可以用我的视频再次做到这一点 - 我发现我的婚礼视频6次(大声笑)。我不想像Ray Barone那样在录像中录下超级碗,我想。 :)

祝您有美好的一天。

1
<cfdirectory action="list" recurse="yes" directory="c:/" query="MyFiles> 

<cfloop query="MyFiles"> 
    <cfif RIGHT(MyFiles.name,4) EQ ".mp3"> 
     <!--- DUMP DATA TO DATABASE----> 
    </cfif> 
</cfloop> 

然后使用sql查询来查找重复的文件。

+0

在较小的驱动器上,这可能会起作用。我发现的是,根据递归所有目录所需的数量或处理过多地返回“垃圾”。换句话说,即使增加了java堆内存,我也得到了一个java堆错误消息。 – HPWD 2012-04-03 13:32:55

+0

您可以在不递归的情况下运行cfdirectory,然后使用单独的查询循环更深和更深。也许在某些排除条件下构建,以忽略你知道你不会存储文件的文件夹(即:C:/ Windows)。 – 2012-04-03 14:06:03