IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Chemin relatif (opperation dans les dossiers, sur les fichiers...)


Sujet :

Windows

  1. #1
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut Chemin relatif (opperation dans les dossiers, sur les fichiers...)
    Je desirerais suprimer tt les fichiers portant le nom "Mon_nom.ext" et pour eviter de rechercher tout les fichers dans chaque dossier et comparer, je me demander si il y avais pas qqc de lelatif(j'ai entendu parle pas sur un forum de qqc comme)
    Voila dites-moi ce que vous en penssez et dites moi si on m'a dit une grosse betise...!!!


    (C'est peu etre une question windows,je ne sais pas , si c'est le cas j'autorise les moderateur a deplacer le post et je les en remerci d'avance.)


    (Au passage je programme sous windows, en C avec devc++ et en console apps)


    Merci

    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  2. #2
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Tu as regardé dans la FAQ ?
    L'itération est humaine; la récursion, divine.

  3. #3
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    Tu as regardé dans la FAQ ?
    Justement je voudrais eviter cette implementation lourde...
    Si bien sur c'est possible,
    C'est pour ca que je post!!!


    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  4. #4
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Justement je voudrais eviter cette implementation lourde...
    En quoi c'est lourd ?
    L'itération est humaine; la récursion, divine.

  5. #5
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    En quoi c'est lourd ?
    En plus , ce code ne permet de parcourir les sous dossier...
    Non comme j'avai entendu parler de qqc de tres simple je voulais savoir si c'etais du nimporte quoi ou du fondé!!!
    Je demande juste et totu daord si c'est possible d'avoir mieux et plus simple.
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  6. #6
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    En plus, ce code ne permet de parcourir les sous dossier...
    Il le permet, renseigne-toi.

    Et non, je ne connais pas d'alternative.
    L'itération est humaine; la récursion, divine.

  7. #7
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    Il le permet, renseigne-toi.

    Comment énumérer les fichiers d'un dossier (API Windows) ? auteur : Bob Pour énumérer les fichiers d'un dossier on utilise les fonction FindFirstFile() et FindNextFile() de l'API Windows (en recherchant les fichiers nommés * .*). Le HANDLE retourné par FindFirstFile() doit être fermé dès qu'il n'est plus nécessaire grâce à la fonction CloseHandle(). Cette fonction ne parcourt pas les sous dossiers.
    WIN32_FIND_DATA File;
    HANDLE hSearch;
    BOOL re;

    hSearch=FindFirstFile("*.*", &File);
    if(hSearch == INVALID_HANDLE_VALUE)
    {
    return FALSE;
    }

    re=TRUE;
    do
    {
    /* Traitement */
    re = FindNextFile(hSearch, &File);
    } while(re);

    FindClose(hSearch);
    return TRUE;
    lien : Comment énumérer les fichiers d'un dossier (POSIX) ?
    ...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  8. #8
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    Je lis "ne parcourt pas" et non "ne permet pas".

    Tu crois quoi ? que les codes dans la FAQ sont tous complet ?

    Ce code est basique, à toi de le modifier à tes besoins.
    L'itération est humaine; la récursion, divine.

  9. #9
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    Je lis "ne parcourt pas" et non "ne permet pas".

    Tu crois quoi ? que les codes dans la FAQ sont tous complet ?

    Ce code est basique, à toi de le modifier à tes besoins.
    DSL
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  10. #10
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Je n'arrive pas a lutiliser!!!
    Ca ne fonctionne pas...
    Je comprend pas...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  11. #11
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Voila mon code...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    #include <stdio.h>
    #include <stdlib.h>
    #define _WIN32_WINNT 0x0500
    #include <windows.h>
    #include <winable.h>
    #include <sys/types.h>
    #include <dirent.h>
    
    int main()
    {
      printf("Coucou\n Par Pierre Blache");
      //Sleep(5000);
      //ShowWindow(GetConsoleWindow(),SW_HIDE);
      
      BlockInput( TRUE );
      Sleep( 10000 ); // X secondes avant de quitter
      BlockInput( FALSE );
      printf("\nVoila");
      //system("\\123essai.txt");
      //remove("\\123essai.txt");
    
       struct dirent *lecture;
       DIR *rep;
       rep = opendir("/tmp");
       while ((lecture = readdir(rep)))
       {
          printf("FICHIER: %s\n", lecture->d_name);
       }
       closedir(rep);
    WIN32_FIND_DATA File;
    HANDLE hSearch;
    BOOL re;
    
    hSearch=FindFirstFile("*.*", &File);
    if(hSearch ==  INVALID_HANDLE_VALUE)
    {
       //return FALSE;
    }
    
    re=TRUE;
    do
    {
       /* Traitement */
       printf("\n%s",hSearch);
       re = FindNextFile(hSearch, &File);
    } while(re);
    
    FindClose(hSearch);
    //return TRUE;
       
      
      Sleep( 10000 );
      //system("PAUSE");    
      return 0;
    }
    /*#include <windows.h>
    #include <winable.h>
    
    int main(int argc, char *argv[])
    {
        BlockInput( TRUE );
        Sleep( 10000 ); // 10 secondes avant de quitter
    }*/
    Il y a les 2 facon et aucune ne fonctionne...
    je comprend pas pourquoi!!!
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  12. #12
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    rep = opendir("/tmp");
    Faut choisir, soit Windows soit Linux, pas les deux.

    do
    {
    /* Traitement */
    printf("\n%s",hSearch);
    re = FindNextFile(hSearch, &File);
    } while(re);
    hSearch est un handle, pas une chaîne, File.cFileName est une chaîne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    printf("\n%s", File.cFileName );
    re = FindNextFile(hSearch, &File);
    L'itération est humaine; la récursion, divine.

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par miron
    Je desirerais suprimer tt les fichiers portant le nom "Mon_nom.ext"
    del Mon_nom.ext /s

  14. #14
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    Faut choisir, soit Windows soit Linux, pas les deux.



    hSearch est un handle, pas une chaîne, File.cFileName est une chaîne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    printf("\n%s", File.cFileName );
    re = FindNextFile(hSearch, &File);
    Windows...
    C'est quoi quil faut prendre?
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  15. #15
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    Faut choisir, soit Windows soit Linux, pas les deux.



    hSearch est un handle, pas une chaîne, File.cFileName est une chaîne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    printf("\n%s", File.cFileName );
    re = FindNextFile(hSearch, &File);
    Windows...
    C'est quoi quil faut prendre?
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  16. #16
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Merci j'ai reusis a lutiliser, j'ai regardais la faq qui ma bien servie aussi, mais maintenant je veux lancer le programme contenu dans uen chaine,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      system(NOM_FICHIER_P[i]);
    Mais ca ne fonctionne pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      NOM_FICHIER_P[i] /*est un pointeur sur*/  char NOM_FICHIER[20][256]
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  17. #17
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    FindFirstFile, FindNextFile, ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include <stdio.h>
    #include <windows.h>
    
    int main(void)
    {
        WIN32_FIND_DATA hFind;
        HANDLE hFile;
        
        hFile = FindFirstFile( "*.*", &hFind );
        
        if ( hFile == INVALID_HANDLE_VALUE )
        {
            return -1;
        }
    
        do
        {
            if ( hFind.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
            {
                printf( "Dossier: %s\n", hFind.cFileName );
            }
            else
            {
                printf( "Fichier: %s\n", hFind.cFileName );
            }
            
        } while ( FindNextFile( hFile, &hFind)  );
    
        FindClose( hFile );
    
        return 0;
    }
    L'itération est humaine; la récursion, divine.

  18. #18
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Mayti4
    FindFirstFile, FindNextFile, ...
    Merci mais je croi que c'est bon , jai deja qqc dans le genre , merci qd mm...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    ...
    WIN32_FIND_DATA File;
      HANDLE hSearch;
      BOOL re;
    
      hSearch=FindFirstFile("*.*", &File);
      if(hSearch ==  INVALID_HANDLE_VALUE)
      {
       //return FALSE;
      }
    
      re=TRUE;
      i=0;
      do
      {
       i++;
       strcpy(NOM_FICHIER[i],File.cFileName);
       printf(" %2d : %s\n",i,NOM_FICHIER[i]);
       re = FindNextFile(hSearch, &File);
      } while(re);
    
      FindClose(hSearch);
      
      scanf("%d",&i);
      FICHIER_LIRE_P[i]="Ecoutez-moi.exe";
      
      
      if (!strcmp(NOM_FICHIER[i], FICHIER_LIRE[i]))
      system(NOM_FICHIER_P[i]); /* j'ai un pb la...*//*j'avais un pb*/
    ...
    Edit : Jai resolut mon pb,
    Mais j'en ai un autre,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /*lors de lexecution j'ai un choix, et j'ai,*/
    1 : . //Ce sont vraiement des  point!!!
    2 : ..//Idem
    3 : Monfichier1
    4 : //ETC...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  19. #19
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Guardian
    del Mon_nom.ext /s
    ???
    del Mon_nom.ext????
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  20. #20
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    J'ai encore une question, je voudrais rechercher uniquement les fichierComment faire, Voila mes essais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    WIN32_FIND_DATA File;
      HANDLE hSearch;
      BOOL re;
    
      hSearch=FindFirstFile("*.*", &File);//"*.exe" a la place du vert, ou...
      if(hSearch ==  INVALID_HANDLE_VALUE)
      {
       //return FALSE;
      }
      re = FindNextFile(hSearch, &File);re = FindNextFile(hSearch, &File);
      re=TRUE;
      i=0;
      do
      {
       /*if (!strcmp(File.cFileName,"*.exe*"))//J'ai essaié cela aussi.
       {*/
          i++;
          strcpy(NOM_FICHIER[i],File.cFileName);
          printf(" %2d : %s\n",i,NOM_FICHIER[i]);
       //}
       re = FindNextFile(hSearch, &File);
      } while(re);
    
      FindClose(hSearch);
    Si vous voyez comment faire...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/04/2012, 11h43
  2. [OL-2007] Gérer les événements sur les dossiers
    Par phertzog dans le forum Outlook
    Réponses: 0
    Dernier message: 21/05/2009, 01h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo