FSOを使用してハードディスクファイルを検索する方法は? FSOのハードディスクファイルを検索する方法を知っていますか?まだわからない場合は、Foxinの編集者をフォローしてください。私はそれを理解します。
<%@言語= "vbscript" codepage = "936"%>
<%
Dim St
st = timer()
'******************************************************
'***************ハードディスクファイルクラスSearchFileを検索************
'***********コール方法:**********
'************セットNewsSearch = new SearchFile'宣言************
'************ Newsearch.folder = "f:+e:"'検索ソースで渡された**************
'************ newsearch.keyword = "compilation"'キーワード*********
'************ Newsearch.Search'検索開始************
'************ set newssearch = Nothing' end *************
'******************************************************
クラスSearchFile
DIMフォルダが絶対パスを通過する、マルチパスは +サインを使用して接続し、スペースなし
DIMキーワード 'キーワードのパッシング
dim objfso 'グローバル変数を定義します
薄暗いカウンター 'グローバル変数、検索結果の数を定義する
'***************初期化******************************
private sub class_initialize
objfso = server.createObject( "Scripting.filesystemObject")を設定します
カウンター= 0 'カウンターを初期化します
End Sub
'*****************************************************************
プライベートSub Class_terminate
objfso =何も設定しません
End Sub
'******************公開会員、***************************という方法
関数検索
フォルダー= split(folders、 "+") 'アレイに変換します
キーワード=トリム(キーワード) '前後のスペースを削除します
keyword = "" thenの場合
Response.write( "<font color = 'red'>キーワードは空にすることはできません</font> <br/>")
出口機能
ifを終了します
'違法なキャラクターが含まれているかどうかを判断してください
flag = strust(keyword、 "")またはstrunt(keyword、 "/")
flag = flagまたはinstr(keyword、 ":")
flag = flagまたはstrunt(keyword、 "|")
flag = flagまたはstrunt(keyword、 "&")
フラグの場合、 'キーワードに含めることはできません /:|&
Response.write( "<font color = 'red'>キーワードは含めることはできません/:|&</font> <br/>")
exit function 'これが含まれている場合は、終了します
ifを終了します
'マルチパス検索
薄暗いi
i = 0からubund(フォルダー)の場合
getallfile(フォルダー(i))を呼び出します 'ループ再帰関数を呼び出します
次
Response.write( "合計<font color = 'red'>"& "</font>結果が見つかりました)
エンド関数
'**********************************
プライベート機能getallfile(フォルダー)
Dim objfd、objfs、objff
objfd = objfso.getFolder(フォルダー)を設定します
objfs = objfd.subfoldersを設定します
objff = objfd.filesを設定します
'サブフォルダーを旅します
dim strfdname 'サブフォルダー名を宣言します
'************サブフォルダーにアクセス*******
エラーの再開時に次に再開します
objfsの各onedirについて
strfdname = onedir.name
'システムフォルダーはトラバーサルに含まれていません
strfdname <> "config.msi" eqv strfdname <> "remycled" eqv strfdname <> "recycler" eqv strfdname <> "システムボリューム情報" "
sfn = folder& ""&strfdname '絶対パス
getallfile(sfn) '呼び出し再帰を呼び出します
ifを終了します
次
dim strflname
'**********ファイルにVide **********
objffの各ファイルについて
strflname = onefile.name
'desktop.iniおよびfolder.httは列の範囲にありません
strflname <> "desktop.ini" eqv strflname <> "folder.htt" thenの場合
fn = folder& ""&strflname
counter = counter+coloron(fn)
ifを終了します
次
'**************************
'各オブジェクトインスタンスを閉じます
objfd =何も設定しません
objfs = Nothingを設定します
objff =何も設定しません
エンド関数
'***************************マッチングパターンを生成******************************************
プライベート関数CreatePattern(キーワード)
createpattern =キーワード
createpattern = cheplage(createpattern、 "。"、 "。")
createpattern = cheplage(createpattern、 "+"、 "+")
createpattern = cheplage(createpattern、 "("、 "(")
createpattern = cheplage(createpattern、 ")"、 ")")
createpattern = cheplage(createpattern、 "["、 "[")
createpattern = cheplage(createpattern、 "]"、 "]")
createpattern = cheplage(createpattern、 "{"、 "{")
createpattern = cheplage(createpattern、 "}"、 "}")
createpattern = fack(createpattern、 "*"、 "[^//]*") '*番号マッチ
createpattern = cheplage(createpattern、 "?"、 "[^//] {1}") '?数のマッチング
createpattern = "("&createpattern& ")+" '全体の一致
エンド関数
'****************************検索と色のキーワード*****************************
プライベート関数Coloron(ファイル名)
Dim Objreg
objreg = new regexpを設定します
objreg.pattern = createpattern(キーワード)
objreg.ignorecase = true
objreg.global = true
retval = objreg.test(filename) '検索テストが渡された場合、色と出力を確認するかどうかを確認します
retvalの場合
output = objreg.replace(filename、 "<font color = '#ff0000'> $ 1 </font>") 'キーワードの表示色を設定します
'******************************この部分は、必要に応じて出力を変更できます************************************************************************************
output = "<a href = '#'>"&output& "</a> <br/>"
Response.Write(出力) '出力マッチング結果
'*****************************************************************
coloron = 1 '追加されたカウンターの数
それ以外
coloron = 0
ifを終了します
objreg =何も設定しません
エンド関数
エンドクラス
'**************************エンドクラスSearchFile *********************
%>
<html>
<head>
<meta http-equiv = "content-type" content = "text/html; charset = gb2312">
<Title> www.csdn.com.cn </title>
</head>
<body>
<form name = "form1" method = "post" action = "<%= request.servervariables(" path_info ")%>">
キーワード:
<入力名= "keyword" type = "text" id = "keyword">
<input type = "submit" name = "submit" value = "search">
<a href = "help.htm"ターゲット= "_ blank">高度な検索ヘルプ</a>
</form>
<%
DIMキーワード
キーワード= request.form( "キーワード")
キーワード<> ""の場合
set newssearch = new SearchFile
newsearch.folders = "e:media+f:"
newsearch.keyword = keyword
newssearch.search
Newsearch = Nothingを設定します
Response.Write( "<br/>時間消費:"&(timer() - st)*1000& "ms")
ifを終了します
%>
</body>
</html>
ハードディスクファイルを検索するこのFSO方法が役立つと思われる場合は、親指を立ててください。より関連するコンテンツをより多く表示する場合は、Wonew Technologyチャネルに従ってください。ご支援ありがとうございます!