main.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #include <iostream>
  2. #include <direct.h>
  3. #include <Shlwapi.h>
  4. using namespace std;
  5. #pragma comment(lib, "Shlwapi.lib")
  6. int main()
  7. {
  8. char pfad[ 255 ];
  9. while( 1 )
  10. {
  11. cout << "gebe den ordner an:";
  12. getchar();
  13. cin.getline( pfad, 255 );
  14. if( !PathFileExists( pfad ) )
  15. {
  16. cout << "Fehler: Der Ordner existiert nicht." << endl;
  17. continue;
  18. }
  19. if( !strlen( pfad ) )
  20. {
  21. cout << "Bitte gebe den Quellordner an." << endl;
  22. continue;
  23. }
  24. break;
  25. }
  26. cout << "----Start----" << endl;
  27. int länge = (int)strlen( pfad );
  28. for( int i = 0; i < länge; i++ )
  29. {
  30. if( pfad[ i ] == '/' )
  31. pfad[ i ] = '\\';
  32. }
  33. char pfad2[ 255 ];
  34. memcpy( pfad2, pfad, länge );
  35. if( pfad2[ länge - 1 ] == '\\' )
  36. {
  37. pfad2[ länge - 1 ] = '2';
  38. pfad2[ länge ] = '\\';
  39. pfad2[ länge + 1 ] = 0;
  40. pfad[ länge ] = '*';
  41. länge++;
  42. pfad[ länge ] = 0;
  43. }
  44. else
  45. {
  46. pfad2[ länge ] = '2';
  47. pfad2[ länge + 1 ] = '\\';
  48. pfad2[ länge + 2 ] = 0;
  49. pfad[ länge ] = '\\';
  50. länge++;
  51. pfad[ länge ] = '*';
  52. länge++;
  53. pfad[ länge ] = 0;
  54. }
  55. if( PathFileExists( pfad2 ) )
  56. {
  57. cout << "Fehler: Zielverzeichnes existiert bereits." << endl;
  58. return 0;
  59. }
  60. _mkdir( pfad2 );
  61. if( !PathFileExists( pfad2 ) )
  62. {
  63. cout << "Fehler: Zielverzeichnes konnte nicht erstellt werden." << endl;
  64. return 0;
  65. }
  66. WIN32_FIND_DATA wfd;
  67. HANDLE fHandle = FindFirstFile( pfad, &wfd );
  68. FindNextFile( fHandle, &wfd );
  69. länge = (int)strlen( pfad2 );
  70. char c[ 3 ] = { 'a', 'a', 'a' };
  71. while( FindNextFile( fHandle, &wfd ) )
  72. {
  73. char datei[ 255 ];
  74. memcpy( datei, pfad, strlen( pfad ) );
  75. for( int i = 0; i < (int)strlen( wfd.cFileName ); i++ )
  76. datei[ strlen( pfad ) + i - 1 ] = wfd.cFileName[ i ];
  77. datei[ strlen( pfad ) + strlen( wfd.cFileName ) - 1 ] = 0;
  78. char datei2[ 255 ];
  79. memcpy( datei2, pfad2, länge );
  80. datei2[ länge ] = 'f';
  81. datei2[ länge + 1 ] = c[ 0 ];
  82. datei2[ länge + 2 ] = c[ 1 ];
  83. datei2[ länge + 3 ] = c[ 2 ];
  84. datei2[ länge + 4 ] = '.';
  85. datei2[ länge + 5 ] = 'p';
  86. datei2[ länge + 6 ] = 'n';
  87. datei2[ länge + 7 ] = 'g';
  88. datei2[ länge + 8 ] = 0;
  89. MoveFile( datei, datei2 );
  90. c[ 2 ]++;
  91. if( c[ 2 ] > 'z' )
  92. {
  93. c[ 2 ] = 'a';
  94. c[ 1 ]++;
  95. if( c[ 1 ] > 'z' )
  96. {
  97. c[ 1 ] = 'a';
  98. c[ 0 ]++;
  99. if( c[ 0 ] > 'z' )
  100. {
  101. cout << "Fehler: Es sind über 17576 Dateien in dem ordner." << endl;
  102. return 0;
  103. }
  104. }
  105. }
  106. }
  107. FindClose( fHandle );
  108. cout << "----Ende----" << endl;
  109. return 1;
  110. }