windows操作工具或技巧集合
2017-02-20 13:46
232 查看
搜索文件内容
在进行文件搜索时,windows 7只有右上方一个搜索框,不像XP可以进行一些高级定义,似乎没法搜索内容中包含欲搜索词的文件了,难道在这点上windows 7倒退得不如XP了?Windows 7没那么笨,只是为了提高大部分情况下的搜索速度,Windows 7默认是不搜索文件内容的,要修改的话其实很简单,打开资源管理器,依次单击“工具→文件夹选项→搜素”,然后勾选“始终搜索文件名和内容”,单击“确 定”,现在切换到F盘下,切换到右上角的搜索框,输入关键字:王晓明”回车后,很快就可以找到符合条件的文档了。
熟悉Windows 7的朋友会说了,平时我不想搜索文件内容,只在某个目录下会搜索内容,那可不想每次都更改这个文件夹选项。那么,有这个需求,你就可以单独考虑,因为 Windows 7默认只搜索已经有索引的目录下的文件内容,咱们可以只添加你时常需要搜素文件内容的目录。打开我的电脑,单击左侧的“库”,打开“文档库”,单击文档库 下的包含“2个位置”链接,在打开的页面中将目录F添加到文档库中就可以了,这样你就无需更改文件夹选项,进行上面的搜索就可以了。
深度遍历文件夹和文件
#include <iostream> #include <string> #include <io.h> using namespace std; //遍历当前目录下的文件夹和文件,默认是按字母顺序遍历 bool TraverseFiles(string path,int &file_num) { _finddata_t file_info; string current_path=path+"/*.*"; //可以定义后面的后缀为*.exe,*.txt等来查找特定后缀的文件,*.*是通配符,匹配所有类型,路径连接符最好是左斜杠/,可跨平台 //打开文件查找句柄 int handle=_findfirst(current_path.c_str(),&file_info); //返回值为-1则查找失败 if(-1==handle) return false; do { //判断是否子目录 string attribute; if(file_info.attrib==_A_SUBDIR) //是目录 attribute="dir"; else attribute="file"; //输出文件信息并计数,文件名(带后缀)、文件最后修改时间、文件字节数(文件夹显示0)、文件是否目录 cout<<file_info.name<<' '<<file_info.time_write<<' '<<file_info.size<<' '<<attribute<<endl; //获得的最后修改时间是time_t格式的长整型,需要用其他方法转成正常时间显示 file_num++; }while(!_findnext(handle,&file_info)); //返回0则遍历完 //关闭文件句柄 _findclose(handle); return true; } //深度优先递归遍历当前目录下文件夹和文件及子文件夹和文件 void DfsFolder(string path,int layer) { _finddata_t file_info; string current_path=path+"/*.*"; //也可以用/*来匹配所有 int handle=_findfirst(current_path.c_str(),&file_info); //返回值为-1则查找失败 if(-1==handle) { cout<<"cannot match the path"<<endl; return; } do { //判断是否子目录 if(file_info.attrib==_A_SUBDIR) { //递归遍历子目录 //打印记号反映出深度层次 for(int i=0;i<layer;i++) cout<<"--"; cout<<file_info.name<<endl; int layer_tmp=layer; if(strcmp(file_info.name,"..")!=0&&strcmp(file_info.name,".")!=0) //.是当前目录,..是上层目录,必须排除掉这两种情况 DfsFolder(path+'/'+file_info.name,layer_tmp+1); //再windows下可以用\\转义分隔符,不推荐 } else { //打印记号反映出深度层次 for(int i=0;i<layer;i++) cout<<"--"; cout<<file_info.name<<endl; } }while(!_findnext(handle,&file_info)); //返回0则遍历完 //关闭文件句柄 _findclose(handle); } int main(int argc,char *argv[]) { //遍历单个目录 int file_num=0; if(!TraverseFiles("E:/android-ndk",file_num)) //此处路径连接符只能用/,根盘符大小写都行 cout<<"traverse files failed"<<endl; cout<<"-------------------\n"<<"file number: "<<file_num<<endl; //递归遍历文件夹 DfsFolder("E:/personal_profile/tinyxml",0); return 0; }
获取程序当前路径
#include <direct.h> getcwd(NULL,0); argv[0];//带有自己程序名
相关文章推荐
- Windows下Dos命令和Linux下基本命令集合收藏<以及各种操作奇淫技巧>
- Sql Server实用操作小技巧集合(收集)
- Sql Server实用操作小技巧集合(转)
- Windows系统故障快速解决技巧大集合
- Windows中让光驱巧妙“隐身”技巧大集合
- Windows调试工具入门3—基本调试操作
- Sql Server实用操作小技巧集合(转载)
- DB2 LOAD 工具使用技巧集合
- Windows清洁器-操作简单而且安全的windows垃圾清理工具
- SqlServer实用操作小技巧集合(三)
- windows下查看和操作linux分区文件的工具
- 一些有用的WINDOWS操作技巧
- WSSv3 Technical Articles_Windows SharePoint Services 3.0编码开发工具和技巧(Part 2 of 2)
- WSSv3 Technical Articles_Windows SharePoint Services 3.0编码开发工具和技巧(Part 1 of 2)
- WSSv3 Visual Studio 2005 extensions Windows SharePoint Services 3.0 编码开发工具和技巧
- Windows罕见技巧集合
- 15条Windows 2003操作技巧
- Windows网络实用工具大集合
- WSSv3 Technical Articles_Windows SharePoint Services 3.0编码开发工具和技巧(Part 1 of 2)
- DB2 LOAD 工具使用技巧集合