資源簡介
有一天,我想查找一下卡巴斯基的密鑰是什么,但是文件名是什么卻忘了,只記得在一個txt文件里有“卡巴斯基”這個詞,于是想找一個可以全盤搜索每個文件里內容的軟件,但是百度了半天沒找到一個合適的,于是一怒之下自己寫了個命令行小工具,用來搜索指定后綴名中的關鍵詞,并且支持utf-8和gb2312倆種格式識別。還算是比較好用,現放出來給有同樣需求的人提供方便,或給c#初學者研究代碼。(*^_^*)

代碼片段和文件信息
using?System;
using?System.Collections;
using?System.Collections.Generic;
using?System.IO;
using?System.Linq;
using?System.Text;
using?System.Threading;
using?System.Threading.Tasks;
namespace?FindText
{
????class?Program
????{
????????static?void?Main(string[]?args)
????????{
????????????try?{?Console.WindowWidth?=?120;?}
????????????catch?{;?}
????????????string?currentDirectory?=?Directory.GetCurrentDirectory();
????????????Console.WriteLine(“當前搜索目錄:“?+?currentDirectory);
????????????Console.ForegroundColor?=?ConsoleColor.Yellow;
????????????Console.WriteLine(“提示:搜索中,可以按空格來暫停操作“);
????????????Console.ResetColor();
????????????Console.Write(“請輸入要搜索的文件后綴名:“);
????????????extension?=?Console.ReadLine();
????????????if?(extension?!=?““)
????????????????extension?=?‘.‘?+?extension;
????????????Console.Write(“請輸入要搜索的關鍵詞:“);
????????????while?(keyWord?==?““)
????????????????keyWord?=?Console.ReadLine();
????????????DirectoryInfo?d?=?new?DirectoryInfo(currentDirectory);
????????????for?(int?i?=?0;?i?????????????{
????????????????separationLine?+=?“-“;
????????????}
????????????Console.WriteLine(separationLine);
????????????Thread?thread?=?new?Thread(new?ParameterizedThreadStart(GetAll));
????????????thread.IsBackground?=?true;
????????????thread.Start(d);
????????????finishMonitor(thread);
????????????//GetAll(d);
????????????//Console.SetCursorPosition(0?currentCursorTop);
????????????//string?space?=?““;
????????????//for?(int?i?=?0;?i?????????????//{
????????????//????space?+=?“?“;
????????????//}
????????????Console.ForegroundColor?=?ConsoleColor.Green;
????????????Console.WriteLine(“搜索完成!從所有“?+?allNumber?+?“個文件中,共找到“?+?number_openFile?+?“個“?+?(extension?==?““???“無后綴名的“?:?extension)
????????????????+?“文件,其中包含關鍵詞的文件有“?+?number?+?“個。(輸入quit退出)“?/*+?space*/);
????????????Console.ResetColor();
????????????while?(“quit“?!=?Console.ReadLine())?{;?}
????????}
????????static?int?sleepTime?=?50;?//暫停時循環監聽的睡眠時間間隔
????????static?string?separationLine?=?““;
????????static?string?extension?=?““;
????????static?string?keyWord?=?““;
????????//static?int?number_findKeyWordFile?=?0;?//找到包含關鍵詞的文件個數
????????static?int?number_openFile?=?0;//后綴名匹配的文件個數
????????static?int?number?=?0;//找到包含關鍵詞的文件序號
????????static?int?allNumber?=?0;//掃描過的文件數
????????//static?int?currentCursorTop;
????????//static?int?aa?=?0?bb?=?0;
????????//static?ArrayList?FileList?=?new?ArrayList();
????????static?void?GetAll(object?dir_in)//搜索文件夾中的文件
????????{
????????????DirectoryInfo?dir?=?dir_in?as?DirectoryInfo;
????????????FileInfo[]?allFile;
????????????try?{?allFile?=?dir.GetFiles();?}
????????????catch?(Exception?e)
????????????{
????????????????Console.ForegroundColor?=?ConsoleColor.DarkGray;
????????????????Console.WriteLine(“錯誤信息:“?+?e.Message?+?“\n“);
????????????????Console.ResetColor();
????????????????return;
????????????}
????????????//if?(allFile.Length?!=?0)
??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????51200??2016-09-05?23:19??FindText1.0\.vs\FindText\v14\.suo
????..A..H.?????41984??2017-05-23?08:39??FindText1.0\.vs\FindText\v15\.suo
?????文件????????189??2016-09-03?18:09??FindText1.0\FindText\App.config
?????文件???????8704??2017-05-23?08:39??FindText1.0\FindText\bin\Release\FindText.exe
?????文件???????2676??2016-09-03?18:09??FindText1.0\FindText\FindText.csproj
?????文件???????6803??2016-09-04?15:50??FindText1.0\FindText\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????538??2016-09-05?21:55??FindText1.0\FindText\obj\Debug\FindText.csproj.FileListAbsolute.txt
?????文件???????1922??2016-09-03?18:27??FindText1.0\FindText\obj\Debug\FindText.csprojResolveAssemblyReference.cache
?????文件???????8704??2016-09-05?21:54??FindText1.0\FindText\obj\Debug\FindText.exe
?????文件??????17920??2016-09-05?21:54??FindText1.0\FindText\obj\Debug\FindText.pdb
?????文件??????????0??2016-09-03?18:09??FindText1.0\FindText\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2016-09-03?18:09??FindText1.0\FindText\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2016-09-03?18:09??FindText1.0\FindText\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件?????????42??2017-05-23?08:38??FindText1.0\FindText\obj\Release\CoreCompileInputs.cache
?????文件???????6798??2017-05-23?08:38??FindText1.0\FindText\obj\Release\DesignTimeResolveAssemblyReferencesInput.cache
?????文件???????1082??2017-05-23?08:39??FindText1.0\FindText\obj\Release\FindText.csproj.FileListAbsolute.txt
?????文件???????1922??2016-09-04?11:00??FindText1.0\FindText\obj\Release\FindText.csprojResolveAssemblyReference.cache
?????文件???????8704??2017-05-23?08:39??FindText1.0\FindText\obj\Release\FindText.exe
?????文件??????15872??2017-05-23?08:39??FindText1.0\FindText\obj\Release\FindText.pdb
?????文件??????????0??2016-09-04?10:25??FindText1.0\FindText\obj\Release\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2016-09-04?10:25??FindText1.0\FindText\obj\Release\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2016-09-04?10:25??FindText1.0\FindText\obj\Release\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件??????12138??2016-09-05?23:19??FindText1.0\FindText\Program.cs
?????文件???????1324??2016-09-03?18:09??FindText1.0\FindText\Properties\AssemblyInfo.cs
?????文件????????991??2016-09-03?18:09??FindText1.0\FindText.sln
?????目錄??????????0??2016-09-03?18:09??FindText1.0\FindText\obj\Debug\TempPE
?????目錄??????????0??2016-09-04?10:25??FindText1.0\FindText\obj\Release\TempPE
?????目錄??????????0??2017-05-23?08:41??FindText1.0\.vs\FindText\v14
?????目錄??????????0??2017-05-23?08:41??FindText1.0\.vs\FindText\v15
?????目錄??????????0??2017-08-19?16:19??FindText1.0\FindText\bin\Release
............此處省略12個文件信息
評論
共有 條評論