Προς το περιεχόμενο

Εύρεση ονομάτων αρχείων


myle

Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω να κατασκευάσω ένα πρόγραμμα το οποίο θα κάνει μετονομασία σε όλα τα αρχεία ενός φακέλου. Το πρόβλημα μου είναι ότι δεν ξέρω πως θα μπορώ να βρω έχοντας δεδομένα ένα directory όλα τα files αυτό περιέχει, ώστε στην συνέχεια να μπορέσω να το σώσω με διαφορετικό όνομα. Θα παρακαλούσα, αν παρατεθεί κώδικας να είναι σε μια από τις γλώσσες:

C++

C

Java

Perl κατά σειρά προτίμησης, αν και perl έχω λίγες σχετικά γνώσεις.

Δημοσ.
>
[b][b]java.io.File myDir = new [/b][/b][b][b]java.io.File("C:\\");
[/b][/b]File[] filesAndDirs = myDir.listFiles();
for (int i=0; i<filesAndDirs.length; i++){
   if (filesAndDirs[i].isFile()){
       filesAndDirs[i].renameTo(<...>);
   }
}

Δημοσ.

Σε Windows API C μπορεί να γίνει έτσι:

 

>
#include <windows.h>
#include <stdio.h>
#include <conio.h>

int main(int argc, char* argv[])
{
  HANDLE            hDirectory;
  WIN32_FIND_DATA   WINFD;

  if((hDirectory=FindFirstFile("C:\\*.*",&WINFD))!=INVALID_HANDLE_VALUE)
   {
     do{
           if(!(WINFD.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
            printf("%s\n",WINFD.cFileName);
       }while(FindNextFile(hDirectory,&WINFD)!=0);
     FindClose(hDirectory);
   }

  getch();
  return 0;
}

 

Δηλαδή άνοιγμα του κατάλογου με την FindFirstFile και αναζήτηση όλων των περιεχομένων του (*.*), ύστερα έλεγχος για το εάν κάθε ευρεθέν στοιχείο είναι αρχείο οπότε το παρουσιάζουμε στην οθόνη και τέλος με την ολοκλήρωση της εργασίας αποδέσμευση μνήμης (FindClose).

Δημοσ.

Ευχαριστώ πολύ παιδιά για την βοήθεια. Πριν ξέχασα να διευκρινήσω τον σκοπό επακριβώς. Το θέλω απλά και μόνο για προσωπική χρήση. Προτιμώ αν θέλω μια απλή εργασία να φτιάχνω μόνος μου το πρόγραμμα για εξάσκηση αλλά και για εκμάθηση. Σας ευχαριστώ όλους για τις απαντήσεις σας και για τον χρόνο που διαθέσατε για αυτές.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...