论坛首页 综合技术论坛

[原创][私人][开拓思路]【鼎力推荐】国庆前诺言的兑现 I:数据库与批处理的综合应用

浏览 2186 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-05  

国庆前诺言的兑现:

ps:诺言?自己对自己的要求,在楼下的楼下呢.

1: dos批处理与Transact-SQL的综合应用

keyword:磁盘索引,mssqlserver数据库,全盘搜索文件

 

/- *******************************************************
   title:       dos批处理与Transact-SQL的综合应用
     
   Description: 快速查找目标文件在磁盘上的的位置
   
    Author:     passedbylove(被爱情路过)
   
    Bulit on:   Windows XP Sp2
   
    Test on:    Windows XP Sp2,Windows 2k SP4(通过)
   
    Copyright@Blog:
                http://hi.baidu.com/passedbylove
   
    Comment:    鄙视拿别人写的东西贴上自己名字的人,不希望出现
                上次那个: Google Hacking Against Privacy学习笔记
                盗版问题.


********************************************************* -/

作为软件发烧友,日常储备一些文档资料已是司空见惯的了,
文件搜索不再是天外玄机,飞入寻常百姓家。

quote:你是不是遇到过这样的尴尬呢?

1. 前天我去栖霞山登山的时候拍的那么视频文件我都搜索这么久了,
一点结果都没有怎么就找不到呢,难道被我删了,不可能,没有啊?


2. 明明记得那些文件就放在D盘怎么搜索这么点时间就结束了.
找不到了,明天MM要看那篇能让她哭一包面纸的文章的时候怎么办........


上面是笔者现实生活中遇到的烦恼,这类问题让我上头脑筋.

就说上次吧,那个"jsp源码.rar"让我搜索了好半天,才找到,让我好找啊.
在这讲究效率的时代恐怕没有人为了体味淳朴做老牛车去县城吧 ;p

   
   下面我们来说说文件搜索吧.
  
假如前天你和MM出去浪漫的时候,用数码相机拍了N张照片,现在想拿出来
寄给妈妈看看,怎么就找不到呢,妹妹还在楼下等你一起洗照片呢?

    这么关键的事情,怎能怠慢,可不能让妹妹再外面痴痴的等哦,外面坏人多哦.
    PS:此人目前还没有找到他的另一半~~~~(>_<)~~~~
话还没落音,你就三连个箭步走到电脑前,打开你乱七八糟的D盘,很用心的按下了F3,
打开搜索工具条,你那电脑搜索工具条是经典的Windows 2000风格的.


记得好像前天那些照片采集到电脑的时候,文件是jpg格式的,还想没有前缀dsn.
   
    好了,信息都这么多了,搜索起来应该不吃力吧.
    于是你在"要搜索的文件或文件夹名为(M)"中输入
   
    dsn*.jpg
   
    你高兴的哼着歌:"我不知道你在想什么还是那个地点那条街哦那缠绵的...."
可是左等右等,还没搜索出来东西。你那索尼相机照一个照片超过1280X1024了,
像素那么高,单个文件普遍大于2.5MB吧,
    于是你选中"搜索选项<<"下面的 "大小(Z)"
    


    "开始" -- "运行" 输入 calc.打开 计算器 2.5*1024=2560
在下拉菜单中你选中"至少",然后输入 2560
并勾选 "搜索系统文件夹"和"搜索隐藏文件和文件夹",
顺便也勾选了"搜索子文件夹",这样一来搜索范围已经限制下来了,
只要搜索到文件,我就右键"打开所在的文件夹(I)"就行了

 


    可是你的电脑就不给你面子,速度还慢的受不了,放弃了.
熟悉dos的朋友可能会有想法了,对!就用P处理试试.

"开始" "运行" 输入 cmd
于是你输入 dir /a-d /s /b dsn*.jpg
出现下面界面速度仍旧很慢.


   怎么办呢
  
既然用到 dir /a-d /s /b何不顺水推舟。
就用dir来做一个全硬盘文件列表索引呢.

于是你又在命令提示符里面输入

for %i in (c,d,e,f) do dir /a-d /s /b %i:\*.*>>d:\filesindexer,lst


生成一个含有文件路径列表

下面就设计到数据库的了,看主要图吧
首先打开 "查询分析器"输入

use master
go

if exists (select name from sysdatabases where name='FileSearchEngine')
    drop database FileSearchEngine
go

create database FileSearchEngine
go

use FileSearchEngine
go


if exists (select name from sysobjects where name='fileDesc')
    drop table fileDesc
go

create table fileDesc
(
    fileindexer varchar(1000)
)

go

--从文件插入数据
bulk insert fileDesc from 'd:\filesindexer.lst'

go
--查看记录
select * from fileDesc
go

 

现在不管你怎么搜了,

就搜索那个照片

只要在查询分析器中输入,

select * from fileDesc where fileindexer like 'dsn*.jpg'

还有几个关键字 not,not in, not like,

例如你想找出你电脑中的一些jpg图片文件,

查询分析器中输入

select * from fileDesc where fileindexder like '*.jpg'

还有很多的文本函数,就看你怎么用了啊,例如 substring,cast,replace,upper

sql语法差的很,大虾不打脸 ;-p

with a funny face

-----------------------------------------------------

下篇文章预报:

用Transact-SQL读写注册表,枚举注册表键值,超精彩

 

   发表时间:2008-10-05  
这是解决这个问题的正确路径么?
文件搜索还不够,整到数据库里去,真够麻烦的,我很怀疑有几个人会。
我虽然没有用过,但我觉得第一可以到网上找找有没有windows文件搜索增强的工具。
0 请登录后投票
   发表时间:2008-10-05  
google desktop?
0 请登录后投票
   发表时间:2008-10-07  
虽然有点麻烦,但是他是没有借助任何工具的,搜索效率比windows资源管理器高很多倍
0 请登录后投票
   发表时间:2008-10-10  
又发现一个自造轮子的……
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics