วิธีใช้ FSO เพื่อค้นหาไฟล์ฮาร์ดดิสก์? คุณรู้วิธีค้นหาไฟล์ฮาร์ดดิสก์สำหรับ FSO หรือไม่? หากคุณยังไม่เข้าใจให้ทำตามบรรณาธิการของ Foxin และฉันจะเข้าใจ
<%@language = "vbscript" codePage = "936"%>
-
สลัวเซนต์
ST = ตัวจับเวลา ()
-
'*************** ค้นหาไฟล์ฮาร์ดดิสก์คลาส SearchFile ************
'************ วิธีการโทร: ************
'************ SET NewsSearch = New SearchFile' ประกาศ ************
'************ Newsearch.folder = "f:+e:"' ผ่านในแหล่งค้นหา **************
'************ Newsearch.keyword = "Compilation"' คำหลัก *********
'************ Newsearch.search' เริ่มค้นหา ************
'************ SET NewsSearch = Nothing' End ***************
-
คลาส searchfile
Dim Folders 'ผ่านเส้นทางที่แน่นอน Multipath ใช้เครื่องหมาย + เพื่อเชื่อมต่อไม่มีช่องว่าง
คำหลักผ่านคำหลัก
dim objfso 'กำหนดตัวแปรทั่วโลก
Dim Counter 'กำหนดตัวแปรส่วนกลางจำนวนผลการค้นหา
'*************** การเริ่มต้น ****************************************************************
คลาสย่อย class_initialize
ตั้งค่า objfso = server.createObject ("scripting.filesystemobject")
counter = 0 'เริ่มต้นตัวนับ
สิ้นสุดย่อย
-
คลาสย่อย class_terminate
ตั้งค่า objfso = ไม่มีอะไร
สิ้นสุดย่อย
'**************** สมาชิกสาธารณะวิธีการเรียกว่า *****************************
การค้นหาฟังก์ชั่น
โฟลเดอร์ = แยก (โฟลเดอร์, "+") 'แปลงเป็นอาร์เรย์
คำสำคัญ = trim (คำหลัก) 'ลบช่องว่างก่อนและหลัง
ถ้า keyword = "" แล้ว
response.write ("<font color = 'red'> คำหลักไม่สามารถว่างได้ </font> <br/>")
ฟังก์ชั่นออก
สิ้นสุดถ้า
'เพียงแค่ตรวจสอบว่ามีตัวอักษรที่ผิดกฎหมายรวมอยู่ด้วย
Flag = Instr (คำหลัก, "") หรือ instr (คำหลัก, "/")
Flag = Flag หรือ Instr (คำหลัก, ":")
Flag = Flag หรือ Instr (คำหลัก, "|")
Flag = Flag หรือ Instr (คำหลัก, "&")
ถ้าตั้งค่าสถานะแล้ว 'คำหลักไม่สามารถมี /: | &
response.write ("<font color = 'red'> คำหลักไม่สามารถมี/: | & </font> <br/>")
ฟังก์ชั่นทางออก 'หากรวมอยู่
สิ้นสุดถ้า
'การค้นหาหลายเส้นทาง
หรอกฉัน
สำหรับ i = 0 ถึง Ubund (โฟลเดอร์)
CALL GETALLFILE (โฟลเดอร์ (i)) 'ฟังก์ชั่นการเรียกซ้ำแบบวนซ้ำ
ต่อไป
Response.write ("พบ <font color = 'red'>" & counter & "</font> ทั้งหมด)
ฟังก์ชันสิ้นสุด
-
ฟังก์ชั่นส่วนตัว getallfile (โฟลเดอร์)
Dim OBJFD, OBJFS, OBJFF
ตั้งค่า objfd = objfso.getFolder (โฟลเดอร์)
ตั้งค่า objfs = objfd.subfolders
ตั้งค่า objff = objfd.files
'เดินทางผ่านโฟลเดอร์ย่อย
dim strfdname 'ประกาศชื่อโฟลเดอร์ย่อย
'************ เยี่ยมชมโฟลเดอร์ย่อย *******
เมื่อเกิดข้อผิดพลาดต่อไป
สำหรับ OneDir แต่ละตัวใน OBJFS
strfdName = onedir.name
'โฟลเดอร์ระบบไม่รวมอยู่ใน Traversal
ถ้า strfdName <> "config.msi" eqv strfdname <> "รีไซเคิล" eqv strfdname <> "Recycler" EQV strfdname <> "ข้อมูลระดับระบบ"
sfn = โฟลเดอร์ & "" & strfdname 'เส้นทางสัมบูรณ์
โทรหา GetAllFile (SFN) 'การเรียกซ้ำ
สิ้นสุดถ้า
ต่อไป
dim strflname
'************ vide ไปยังไฟล์ **********
สำหรับไฟล์หนึ่งไฟล์ใน OBJFF
strflname = onefile.name
'desktop.ini และ folder.htt ไม่ได้อยู่ในช่วงคอลัมน์
ถ้า strflname <> "desktop.ini" eqv strflname <> "folder.htt"
fn = โฟลเดอร์ & "" & strflname
counter = counter+coloron (FN)
สิ้นสุดถ้า
ต่อไป
-
'ปิดแต่ละอินสแตนซ์ของวัตถุ
ตั้งค่า objfd = ไม่มีอะไร
ตั้งค่า objfs = ไม่มีอะไร
ตั้งค่า objff = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
'************************* การสร้างรูปแบบการจับคู่ **************************************************************************************
ฟังก์ชั่นส่วนตัว createPattern (คำหลัก)
createPattern = คำหลัก
createPattern = แทนที่ (createPattern, ".", ",". ")
createPattern = แทนที่ (createPattern, "+", "+")
createPattern = แทนที่ (createPattern, "(", "(")
createPattern = แทนที่ (createPattern, ")", ")")
createPattern = แทนที่ (createPattern, "[", "[")
createPattern = แทนที่ (createPattern, "]", "]")
createPattern = แทนที่ (createPattern, "{", "{")
createPattern = แทนที่ (createPattern, "}", "}")
createPattern = แทนที่ (createPattern, "*", "[^//]*") '*หมายเลขตรงกัน
createPattern = แทนที่ (createPattern, "?", "[^//] {1}") '? การจับคู่หมายเลข
createPattern = "(" & createPattern & ")+" 'การจับคู่โดยรวม
ฟังก์ชันสิ้นสุด
'**************************** การค้นหาและคำหลักสี ***********************************************
ฟังก์ชั่นส่วนตัว coloron (ชื่อไฟล์)
หรี่
ตั้งค่า objreg = ใหม่ regexp
objreg.pattern = createPattern (คำหลัก)
objreg.ignorecase = true
objreg.global = true
retval = objreg.test (ชื่อไฟล์) 'ตรวจสอบการทดสอบการค้นหาหากผ่านผ่านสีและเอาต์พุต
ถ้า retval แล้ว
output = objreg.replace (ชื่อไฟล์, "<font color = '#ff0000'> $ 1 </font>") 'ตั้งค่าสีแสดงของคำหลัก
'*******************************************************************************************
output = "<a href = '#'>" & output & "</a> <br/>"
response.write (ผลลัพธ์) 'ผลลัพธ์การจับคู่เอาต์พุต
-
coloron = 1 'จำนวนเคาน์เตอร์ที่เพิ่มเข้ามา
อื่น
coloron = 0
สิ้นสุดถ้า
ตั้งค่า objreg = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
ชั้นเรียนจบ
'************************** การค้นหาชั้นเรียนจบ *********************
-
<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 ")%>">
คำสำคัญ:
<อินพุตชื่อ = "คำหลัก" type = "text" id = "คำหลัก">
<อินพุต type = "ส่ง" name = "submit" value = "search">
<a href = "help.htm" target = "_ blank"> วิธีใช้การค้นหาขั้นสูง </a>
</form>
-
คำหลักสลัว
keyword = request.form ("คำหลัก")
ถ้าคำหลัก <> "" แล้ว
ตั้งค่า newsSearch = ใหม่ searchFile
Newsearch.folders = "E: Media+F:"
newSearch.keyword = คำหลัก
NewsSearch.Search
ตั้งค่า newSearch = ไม่มีอะไร
Response.write ("<br/> ใช้เวลานาน:" & (timer ()-ST)*1000 & "MS")
สิ้นสุดถ้า
-
</body>
</html>
หากคุณคิดว่าวิธี FSO นี้ในการค้นหาไฟล์ฮาร์ดดิสก์มีประโยชน์สำหรับคุณโปรดยกนิ้วให้ฉัน หากคุณต้องการดูเนื้อหาที่เกี่ยวข้องเพิ่มเติมโปรดติดตามช่องเทคโนโลยี Wonew ขอบคุณสำหรับการสนับสนุน!