创建自己的全文索引库2022.03.21
第1步:用电脑软件RaiDrive Standard Edition Version 2021.12.35 通过中国电信的公网动态IP地址和群晖网络存储服务器的DDNS或者华硕无线路由器的DDNS和华硕无线路由器的端口转发(端口映射)和群晖网络存储服务器的SFTP文件服务异地远程映射网络驱动器(我选择S:作为我的映射网络驱动器的磁盘盘符,并保持长期固定不变)(Map Remote Servers as Local Drives via SFTP)。
也可以选择使用Windows自带的映射网络驱动器功能连接群晖网络存储服务器的SMB文件服务来映射网络驱动器。
也可以选择使用NetDrive2 v2.6.16、WebDrive 2019、AirLiveDrive、CloudDrive、DriveMaker、SFTP Drive、ExpanDrive或者其他有类似功能的软件来映射网络驱动器。
当网络不稳定或者软件不稳定时可以使用多个DDNS和多个盘符映射软件来映射多个虚拟磁盘备用。
第2步:把以前的旧文件用Total Commander 10.00过滤筛选之后复制到映射网络驱动器S:中,所有文档表格应当在映射网络驱动器S:中新建、重命名、移动、编辑、分享和删除,如有其他位置的文件请及时筛选分类整理保存到映射网络驱动器S:中。可以用ES文件浏览器安卓版的FTP功能连接群晖网络存储服务器的SFTP文件服务异地远程访问群晖网络存储服务器中的文档表格。
第3步:用电脑软件 Vistanita Duplicate Finder 3.9.6 批量删除映射网络驱动器S:中的重复文件。
第4步:用AutoHotkey脚本“FenLei.ahk”对以前的旧文件按照文件扩展名进行批量分类整理。
;
; 按照文件类型批量整理文件的AutoHotkey脚本
;~ 在大批量移动文件之前必需先询问一下
MsgBox, 4, , "Loop All Files in ScriptDir"`n"是否立即按照文件类型批量整理子目录中所有文件?"`n`ncontinue?
IfMsgBox, No
ExitApp
MsgBox, 4, , "Loop All Files in ScriptDir"`n"是否立即按照文件类型批量整理子目录中所有文件?"`n`ncontinue?
IfMsgBox, No
ExitApp
loop,9
{
FileCreateDir,%A_ScriptDir%\F
FileCreateDir,%A_ScriptDir%\!Classify
;~ 为重要文件的文件夹写上前缀标记
global importantmark
;~ global ProgressParam
;~ ProgressParam:=0
loop,Files,%A_ScriptDir%\F\*.*,R ;递归遍历穷举文件夹和子文件夹中的文件
{
;; 进度条窗口不可以移动,并且比较烦人
;; ProgressParam:=ProgressParam+0.5
;; if(ProgressParam>99)
;; ProgressParam:=0
;; ;~ 进度条
;; Progress, %ProgressParam%, %a_loopfilename%,"Moveing Files ...", "Classify And Arrange Files in Folder F"
if(A_LoopFileExt="")
{
IfNotExist,%A_ScriptDir%\!Classify\NullFileExt
FileCreateDir,%A_ScriptDir%\!Classify\NullFileExt
FileMove,%A_LoopFileFullPath%,%A_ScriptDir%\!Classify\NullFileExt\%A_LoopFileName%
Sleep,9
continue
}
importantmark:=""
if((A_LoopFileExt="docx") or(A_LoopFileExt="xlsx") or (A_LoopFileExt="jpg") )
importantmark:="1_"
if((A_LoopFileExt="ani") or (A_LoopFileExt="au3") or (A_LoopFileExt="flac") or (A_LoopFileExt="avi") or (A_LoopFileExt="doc") or (A_LoopFileExt="dotx") or (A_LoopFileExt="xls") or (A_LoopFileExt="xltx") or (A_LoopFileExt="dot") or (A_LoopFileExt="xlt") or (A_LoopFileExt="ISO") or (A_LoopFileExt="GHO") or (A_LoopFileExt="flv") or (A_LoopFileExt="jpeg") or (A_LoopFileExt="mp4") or (A_LoopFileExt="png") or (A_LoopFileExt="ppt") or (A_LoopFileExt="pdf") or (A_LoopFileExt="7z") or (A_LoopFileExt="ahk") or (A_LoopFileExt="bat") or (A_LoopFileExt="chm") or (A_LoopFileExt="cmd") or (A_LoopFileExt="dot") or (A_LoopFileExt="exe") or (A_LoopFileExt="ico") or (A_LoopFileExt="mdb") or (A_LoopFileExt="mkv") or (A_LoopFileExt="mp3") or (A_LoopFileExt="pas") or (A_LoopFileExt="rar") or (A_LoopFileExt="txt") or (A_LoopFileExt="rmvb") or (A_LoopFileExt="vbs") or (A_LoopFileExt="zip"))
importantmark:="2_"
;~ MsgBox,% A_LoopFileSizeMB
IfGreater,A_LoopFileSizeMB,500
importantmark:="3_Big500MB_"
;~ 如果当前文件是此脚本本身那么跳过当前循环的剩余部分并继续下一次循环递归遍历穷举文件
if(A_ScriptFullPath=A_LoopFileFullPath)
{
continue
}
;~ 如果当前脚本所在目录没有当前循环的文件则直接移动文件并继续下一个循环
IfNotExist,%A_ScriptDir%\!Classify\%importantmark%%A_LoopFileExt%\%A_LoopFileName%
{
IfNotExist,%A_ScriptDir%\!Classify\%A_LoopFileExt%
FileCreateDir,%A_ScriptDir%\!Classify\%importantmark%%A_LoopFileExt%
FileMove,%A_LoopFileFullPath%,%A_ScriptDir%\!Classify\%importantmark%%A_LoopFileExt%\%A_LoopFileName%
Sleep,9
continue
}
;;如果当前循环的文件就在当前脚本所在目录中那么跳过当前循环的剩余部分并继续下一次循环
ScriptDirLoopFileName=%A_ScriptDir%\!Classify\%importantmark%%A_LoopFileExt%\%A_LoopFileName%
if( ScriptDirLoopFileName=A_LoopFileFullPath)
{
continue
}
;~ MsgBox,%A_LoopFileFullPath%
;~ 重命名重复文件
DuplicateFileCount:=1
loop
{
IfExist,%A_ScriptDir%\!Classify\%importantmark%%A_LoopFileExt%\%DuplicateFileCount%_%A_LoopFileName%
{
DuplicateFileCount=% ++DuplicateFileCount
continue
}
else
{
IfNotExist,%A_ScriptDir%\!Classify\%A_LoopFileExt%
FileCreateDir,%A_ScriptDir%\!Classify\%importantmark%%A_LoopFileExt%
FileMove,%A_LoopFileFullPath%,%A_ScriptDir%\!Classify\%importantmark%%A_LoopFileExt%\%DuplicateFileCount%_%A_LoopFileName%
Sleep,9
break
}
}
}
}
MsgBox, 64, , %A_ScriptDir%"All Files in ScriptDir is Classifyed And Arranged"`n"恭喜你, 已经按照文件类型完成所有当前脚本所在目录和子目录中文件的分类整理"!
;~ MsgBox, 64, , "操作失败的文件共有"%ErrFileCount%"个,详细出错原因列表见ErrFileList.txt文件"!
return
; # 此AHK脚本结束 #############
第5步:用电脑软件GoodSync Version 11.10.5.5 定时单向备份群晖网络存储服务器的SFTP文件服务中的文件到本地电脑磁盘中备用,从而能够在网络故障时临时搜索和访问文档表格(平时只在映射网络驱动器S:中访问办公、生活和娱乐文件,当且仅当网络故障时才访问定时单向备份到本地的文件。)。通过群晖网络存储服务器的 RAID 1 镜像存储池(有数据保护)、群晖Hyper Backup套件、群晖Cloud Sync 套件 来备份文件,防止误删误改文件,防止丢失文件。
第6步:用电脑软件 FileLocator Pro Version 2022 – Build 3307 的索引管理器创建群晖网络存储服务器远程映射网络驱动器中文件夹的全文索引(SQLite Full – Text Search Index)。FileLocator Pro软件的购买网址是https://www.mythicsoft.com/。FileLocator Pro软件的国内购买网址是https://www.filelocator.cn/。索引管理器的快捷键是Ctrl+M。索引的保存位置选择映射网络驱动器S:中的文件夹。如需要索引特殊格式的文件时需要手动添加特定类型的文件 *.ahk
第7步:当需要搜索某些只记得部分文件正文内容的文档或表格时请使用电脑软件 FileLocator Pro Version 2022 – Build 3307 的 “ 索引搜索 ” 功能对文件的正文内容进行全文本搜索。即使不记得文件名,即使只记得一小段正文内容片断也能够正确高效快捷的搜索到所需的文档表格。
可以使用印象笔记或者https://anytxt.net/出品的AnyTXT Searcher或者www.likasoft.com出品的Archivarius 3000或者www.textseek.net出品的TextSeek或者docfetcher.sourceforge.net出品的DocFetcher或者百度硬盘搜索或者谷歌桌面Google Desktop或者copernic.com出品的Copernic desktop search或者www.lookeen.com出品的Lookeen或者www.dtsearch.com出品的dtSearch或者www.lesbonscomptes.com出品的Recoll或者其他类似的Windows桌面全文搜索工具索引软件(Desktop full-text search tool)www.bbdoc.cn出品的BBdoc文档管理系统作为FileLocator的冗余补充备用,作为FileLocator的临时代替后补,作为FileLocator的异常应急选项。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
大佬,这是相当于用自己电脑映射了一个云笔记吗?
不是云笔记,云笔记不支持音频和视频的文件夹视图界面和本地化文件夹操作习惯环境响应,这里指的是云存储空间。
特点1,同时损坏叁块硬盘之后可以正常读写文件,不易丢失文件(ds920+的4块硬盘组成RAID 1 镜像存储池)。
特点2,可以在手机,电脑,平板电脑,智能电视机上随时随地打开文件。
特点3,全文索引,高速搜索,可以在5分钟之内,通过正文内容片段,拼音全拼,或者拼音首字母搜索文件(需要调用Delphi的OnChange()事件无需回车动态搜索和PYIndex()自制函数拼音转换函数)