64,637
社区成员
发帖
与我相关
我的任务
分享
http://www.voidtools.com/support/everything/command_line_interface/
// 请输入搜索信息关键字,调用Everything搜索文件
string es_cmd;
getline(std::cin , es_cmd);
char es_exe_file[MAX_PATH] = {0};
strcpy(es_exe_file, app_path);
strcat(es_exe_file, "\\es.exe ");
es_cmd = string(es_exe_file) + " " + es_cmd + " > filelist.txt";
int es_err = system(es_cmd.c_str());
if (es_err == 0) {
// 处理 filelist.txt
}
安装 Everything 后再下载 es.exe 着命令行版本,再程序调动#include "stdafx.h"
using namespace std;
struct {
UINT type; LPCSTR name;
} DriveTypeFlags [] = {// GetDriveType返回码与人可读字符串对照表
{DRIVE_UNKNOWN ,"未知" },
{DRIVE_NO_ROOT_DIR ,"无效路经" },
{DRIVE_REMOVABLE ,"可移动" },
{DRIVE_FIXED ,"固定" },
{DRIVE_REMOTE ,"网络驱动器" },
{DRIVE_CDROM ,"CD-ROM" },
{DRIVE_RAMDISK ,"随机存取磁盘"},
{0 , NULL },
};
int _tmain() {
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) {
cerr << _T("Fatal Error: MFC initialization failed") << endl;
return -1;
}
// 获取逻辑驱动器字符串- a:\<null>b:\<null>c:\<null>...z:\<null><null>
// 还可以用GetLogicalDrives以位图形式代替字符串形式获取信息
TCHAR buf[200];
DWORD len = GetLogicalDriveStrings(sizeof(buf)/sizeof(TCHAR),buf);
string msg = "逻辑驱动器:\n";
for (TCHAR* s=buf; *s; s+=_tcslen(s)+1) {
LPCTSTR sDrivePath = s;
msg += sDrivePath;
msg += " ";
UINT uDriveType = GetDriveType(sDrivePath);
for (int i=0; DriveTypeFlags[i].name; i++) {
if (uDriveType == DriveTypeFlags[i].type) {
msg += DriveTypeFlags[i].name;
break;//
}
}
msg += '\n';
}
cout << msg.c_str();
return 0;
}