Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.98 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <windows.h>
  3. #include <iostream>
  4. #include <tchar.h>
  5. #include <stdio.h>
  6. #include <locale.h>
  7. #include <strsafe.h>
  8.  
  9.  
  10.  
  11. //для разворота строки в
  12. void reverse(TCHAR s[]) {
  13. int i, j;
  14. TCHAR c;
  15.  
  16. for (i = 0, j = _tcslen(s) - 1; i < j; i++, j--) {
  17. c = s[i];
  18. s[i] = s[j];
  19. s[j] = c;
  20. }
  21. }
  22.  
  23. //преобразование чисел в строку
  24. void ita(int n, TCHAR s[]) {
  25. int i, sign;
  26.  
  27. if ((sign = n) < 0)
  28. n = -n;
  29. i = 0;
  30. do {
  31. s[i++] = n % 10 + '0';
  32. } while ((n /= 10) > 0);
  33.  
  34. if (sign < 0)
  35. s[i++] = '-';
  36. s[i] = '\0';
  37. reverse(s);
  38. }
  39.  
  40. /*
  41. #include <windows.h>
  42. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
  43. LPSTR lpCmdLine, int nShowCmd)
  44. {
  45. HANDLE hFile;
  46. LARGE_INTEGER size;
  47. HANDLE hMap = NULL;
  48. wchar_t buf[128];
  49. hFile=CreateFileW( L"D:\\login.txt", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 );
  50. if(hFile!=INVALID_HANDLE_VALUE)
  51. {
  52. GetFileSizeEx(hFile, &size);
  53. _i64tow(size.QuadPart, buf, 10);
  54. MessageBoxW(NULL, buf, L"File size", MB_OK);
  55. CloseHandle(hFile);
  56. }
  57. else MessageBoxW(NULL, L"Can not open file!", L"Error", MB_OK);
  58. }
  59.  
  60. */
  61. /*TCHAR strplus(TCHAR g[256], TCHAR f[256]) {
  62. int i = 0;
  63. for (;; i++) {
  64. if (g[i] == '\0') break;
  65. }
  66. int p = 0;
  67. for (;;i++) {
  68. g[i] = f[p];
  69. p++;
  70. if (f[p] == '\0') break;
  71. }
  72. return g[256];
  73. }
  74. TCHAR str(TCHAR g[256], TCHAR f[256]) {
  75. int i = 0;
  76. for (;; i++) {
  77. g[i] = f[i];
  78. if (f[i] == '\0') break;
  79. }
  80. return g[256];
  81. }
  82. */
  83.  
  84. void katalog(TCHAR a[256])
  85. {
  86. setlocale(LC_ALL, "Russian");
  87. WIN32_FIND_DATA FindFileData;
  88. HANDLE hf;
  89. hf = FindFirstFile(a, &FindFileData);
  90. if (hf != INVALID_HANDLE_VALUE)
  91. {
  92. do
  93. {
  94. int i;
  95.  
  96. int dwSize = 0;
  97. TCHAR z[256];
  98. TCHAR w[256];
  99. _tcscat(w, a);
  100. TCHAR ww[256];
  101. _tcscat(ww, a);
  102. TCHAR* j = FindFileData.cFileName;
  103.  
  104. //присвоение z имени файла
  105. for (i = 0;; i++) {
  106. z[i] = j[i];
  107. if (j[i] == 0) break;
  108. }
  109. TCHAR zzz[256];
  110. TCHAR zz[256]; //FindFileData.cFileName;
  111. dwSize = FindFileData.nFileSizeLow;
  112. // присвоение zz имени файла
  113. for (i = 0;; i++) {
  114. if (z[i] == '\0') break;
  115. zz[i] = z[i];
  116. }
  117. int check = 0;
  118. for (i = 0;; i++) {
  119. if (z[i] == '_') check = 1;
  120. if (z[i] == '\0') break;
  121. }
  122. TCHAR s1[256];
  123. TCHAR s2[256];
  124. TCHAR si[256];
  125.  
  126. if (check == 1) {
  127. for (i = 0;; i++) {
  128. s1[i] = z[i];
  129. if (s1[i] == '_') {
  130. s1[++i] = '\0';
  131. break;
  132. }
  133. }
  134. //i++;
  135. int y = 0;
  136. for (;; i++) {
  137.  
  138.  
  139. s2[y] = z[i];
  140. if (z[i] == '\0') break;
  141. y++;
  142. }
  143. //w равно путь и размер
  144. ita(dwSize, zzz);
  145.  
  146. for (i = 0;; i++) {
  147.  
  148. si[i] = s1[i];
  149. if (s1[i] == '\0') break;
  150. }
  151. int t = 0;
  152. for (;; i++) {
  153.  
  154. si[i] = zzz[t];
  155. if (zzz[t] == '\0') break;
  156. t++;
  157. }
  158. t = 0;
  159. for (;; i++) {
  160. si[i] = s2[t];
  161. if (s2[t] == '\0') break;
  162. t++;
  163. }
  164. for (i = 0;; i++) {
  165. if (w[i] == '\0') break;
  166. }
  167. int p = 0;
  168. for (;; i++) {
  169.  
  170. w[i] = si[p];
  171.  
  172. p++;
  173. if (si[p] == '\0') break;
  174. }
  175.  
  176.  
  177.  
  178. //i равна точному количеству символов пути
  179. for (i = 0;; i++) {
  180. if (ww[i] == '\0') break;
  181. }
  182. int k = 0;
  183. //ww равна имени файла с путём
  184. for (;; i++) {
  185. if (z[k] == '\0') break;
  186. ww[i] = z[k];
  187. k++;
  188. }
  189. //printf("%s\n",ww);
  190. LPCTSTR lzz = (LPCTSTR)ww;
  191.  
  192. //printf("%s\n", lzz);
  193. LPCTSTR lzzz = (LPCTSTR)w;
  194. //printf("%s\n", lzzz);
  195. /*printf("%s\n",w);
  196.  
  197. printf("%s\n", lzzz);*/
  198. //printf("%d", FindFileData.nFileSizeLow);
  199.  
  200. MoveFile(lzz, lzzz);
  201. //printf("%d",GetLastError());
  202. //_tprintf(_T("\n"));
  203. check = 0;
  204. }
  205.  
  206.  
  207.  
  208. } while (FindNextFile(hf, &FindFileData) != 0);
  209. FindClose(hf);
  210. }
  211. }
  212.  
  213. void main()
  214. {
  215. setlocale(LC_ALL, "Russian");
  216. WIN32_FIND_DATA FindFileData;
  217. TCHAR a[256] = _T("C:\\Users\\rsc\\OneDrive\\Рабочий стол\\Тест №2\\пр3\\*");
  218. HANDLE hf;
  219. hf = FindFirstFile(a, &FindFileData);
  220. if (hf != INVALID_HANDLE_VALUE)
  221. {
  222. do
  223. {
  224. int i;
  225.  
  226. int dwSize = 0;
  227. TCHAR z[256];
  228. TCHAR w[256] = _T("C:\\Users\\rsc\\OneDrive\\Рабочий стол\\Тест №2\\");
  229. TCHAR b[256] = _T("C:\\Users\rsc\\OneDrive\\Рабочий стол\\Тест №2\\");
  230. TCHAR ww[256] = _T("C:\\Users\\rsc\\OneDrive\\Рабочий стол\\Тест №2\\");
  231. TCHAR* j = FindFileData.cFileName;
  232.  
  233. //присвоение z имени файла
  234. for (i = 0;; i++) {
  235. z[i] = j[i];
  236. if (j[i] == 0) break;
  237. }
  238. TCHAR zzz[256];
  239. TCHAR zz[256]; //FindFileData.cFileName;
  240. dwSize = FindFileData.nFileSizeLow;
  241. // присвоение zz имени файла
  242. for (i = 0;; i++) {
  243. if (z[i] == '\0') break;
  244. zz[i] = z[i];
  245. }
  246. int check = 0;
  247. for (i = 0;; i++) {
  248. if (z[i] == '_') check = 1;
  249. if (z[i] == '\0') break;
  250. }
  251. TCHAR s1[256];
  252. TCHAR s2[256];
  253. TCHAR si[256];
  254.  
  255.  
  256. int kat = 0;
  257. //проверка на каталог
  258. if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
  259. if (z[0] != '.') {
  260. // printf("%s\n", z);
  261.  
  262. kat = 1;
  263.  
  264. }
  265. }
  266.  
  267.  
  268.  
  269. if (check == 1 and kat != 1) {
  270. for (i = 0;; i++) {
  271. s1[i] = z[i];
  272. if (s1[i] == '_') {
  273. s1[++i] = '\0';
  274. break;
  275. }
  276. }
  277. //i++;
  278. int y = 0;
  279. for (;; i++) {
  280.  
  281.  
  282. s2[y] = z[i];
  283. if (z[i] == '\0') break;
  284. y++;
  285. }
  286. //w равно путь и размер
  287. ita(dwSize, zzz);
  288.  
  289. for (i = 0;; i++) {
  290.  
  291. si[i] = s1[i];
  292. if (s1[i] == '\0') break;
  293. }
  294. int t = 0;
  295. for (;; i++) {
  296.  
  297. si[i] = zzz[t];
  298. if (zzz[t] == '\0') break;
  299. t++;
  300. }
  301. t = 0;
  302. for (;; i++) {
  303. si[i] = s2[t];
  304. if (s2[t] == '\0') break;
  305. t++;
  306. }
  307. for (i = 0;; i++) {
  308. if (w[i] == '\0') break;
  309. }
  310. int p = 0;
  311. for (;; i++) {
  312.  
  313. w[i] = si[p];
  314.  
  315. p++;
  316. if (si[p] == '\0') break;
  317. }
  318.  
  319.  
  320.  
  321. //i равна точному количеству символов пути
  322. for (i = 0;; i++) {
  323. if (ww[i] == '\0') break;
  324. }
  325. int k = 0;
  326. //ww равна имени файла с путём
  327. for (;; i++) {
  328. if (z[k] == '\0') break;
  329. ww[i] = z[k];
  330. k++;
  331. }
  332. //printf("%s\n",ww);
  333. LPCTSTR lzz = (LPCTSTR)ww;
  334.  
  335. //printf("%s\n", lzz);
  336. LPCTSTR lzzz = (LPCTSTR)w;
  337. //printf("%s\n", lzzz);
  338. /*printf("%s\n",w);
  339.  
  340. printf("%s\n", lzzz);*/
  341. //printf("%d", FindFileData.nFileSizeLow);
  342.  
  343. MoveFile(lzz, lzzz);
  344. //printf("%d",GetLastError());
  345. //_tprintf(_T("\n"));
  346. check = 0;
  347. }
  348.  
  349. if (kat == 1) {
  350. _tcscat(b, j);
  351. _tcscat(b, _T("\\"));
  352. _tcscat(b, _T("*"));
  353. katalog(b);
  354. }
  355.  
  356.  
  357.  
  358. } while (FindNextFile(hf, &FindFileData) != 0);
  359. FindClose(hf);
  360. }
  361. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement