Ordonner extraction de répertoire

Bonjour,

J'ai créer vite fait un batch pour extraire l'arborescence de ce que contient un répertoire dont voici le code :

@echo off
echo Debut de l'extraction
echo.
echo.
echo.
echo Extraction en cours
echo.
echo.
echo.

tree \\nas\media\photo /a /f > C:\Users\xxxxxx\Desktop\photo.txt


@echo off
echo Fin de l'extraction
echo.
echo.
echo Le fichier se trouve sur le bureau
pause



Mon batch extrait donc correctement, mais il n'ordonne pas mes photos dans l'ordre alphabétique.

J'ai bien essayer avec le commande "sort", mais ca me classe l'ensemble du fichier.

Voici ce que je voudrais arriver à faire :

Avant :

+---Photo
| +---Mariage
| | |
| | |
| | +---Avril 2012
| | | 005
| | | 016
| | | 019
| | | 012
| | | 002

Après :

+---Photo
| +---Mariage
| | |
| | |
| | +---Avril 2012
| | | 002
| | | 005
| | | 012
| | | 016
| | | 019

J'espère etre clair. Merci de votre aide.

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Bonjour xam8059,
    Ce sont les noms de fichier image que tu veux dans l'ordre croissant
    Ces noms de fichiers se trouve o% ? dans un fichier texte ? et c'est dans ce fichier que tu voudrais qu'il classe les images dans l'ordre croissant ?
    1. Bonjour et Merci de ta réponse.

      Les noms sont dans un fichier texte que je génère via le script.
      Je voudrais les classer par noms par ordre alphabétique, car en plus du numéro de la photos, j'ajoute souvent un titre à la photo.
    2. Peux-tu mettre un exemple de fichier (ou partie) sur le fil ou mettre ton fichier sur le site "http://cjoint.com/" en supprimant toutes données confidentielles. De cette façon on aura un aperçu pour visuel.
      Car un tri, ok, mais il faut savoir comment tu as organisé ce fichier (avec ou sans entêtes, format de nom de fichier toujours le même, etc
    3. Voici le début du fichier généré via le script :

      Structure du dossier pour le volume media
      Le num'ro de s'rie du volume est xxxxxxx xxxx:xxxx
      \\NAS\MEDIA\PHOTO         
      +---Photos
          +---Mariage Toto
          |       eglise012.jpg
          |       Repas092.jpg
          |       Dessert198.jpg
          |       
          +---Mariage Titi
          |       Preparation589.jpg
          |       Danse785.jpg
          |       Buffet589.jpg
          |       groupe0583.jpg
          |       
          +---Mariage Tata
          |       film_arrivee.avi
          |       parents0258.jpg
          |       enfants567.jpg
          |       
          +---Mariage Tete
          |   +---Preparation
          |   |       prepa0123.jpg
          |   |       prepa0963.jpg
          |   |       prepa0555.jpg
          |   |       prepa0002.jpg
          |   +--- Eglise
          |   |       eglise859.jpg
          |   |       eglise218.jpg
          |   |       eglise530.jpg


      Donc en gros je voudrais pouvoir organiser par ordre alphabétique les Mariages, mais aussi les sous répertoires contenus dans le dernier répertoire Mariage Tete.

      En général, c'est du format AVI ou JPG pour les fichiers.

      Merci de ton aide.
    4. Donc, d'abord les dossiers:
      +---Mariage Tata
      +---Mariage Tete
      +---Mariage Titi
      +---Mariage Toto
      | +--- Eglise
      | +---Preparation

      Puis, les fichiers dans chaque dossier:
      +---Photos
      +---Mariage Tata
      | enfants567.jpg
      | film_arrivee.avi
      | parents0258.jpg
      +---Mariage Tete
      | +---Preparation
      | | prepa0002.jpg
      | | prepa0123.jpg
      | | prepa0555.jpg
      | | prepa0963.jpg
      | +--- Eglise
      | | eglise218.jpg
      | | eglise530.jpg
      | | eglise859.jpg
      +---Mariage Titi
      | Buffet589.jpg
      | Danse785.jpg
      | groupe0583.jpg
      | Preparation589.jpg
      +---Mariage Toto
      | Dessert198.jpg
      | eglise012.jpg
      | Repas092.jpg

      ?
      Ordre alphanumérique ?
      Déjà, on ne peux pas se fier à l'extension, car avi, jpg ou autre !
      En BATCH,
      SORT /R /+n [<] [lecteur1:][chemin1]fichier1] > [lecteur2:][chemin2]fichier2]
      [lecteur1:][chemin1]fichier1 : fichier à trier
      [lecteur2:][chemin2]fichier2] : ecrire résultat
      paramètres:
      /R trié par ordre décroissant -DESC- (par défaut, croissant -ASC-)
      /+n trie en fonction de la colonne numéro.. (par défaut, première colonne)

      Mais récursif dans ton cas, car plusieurs tris
    5. Es-tu obliger de le faire en fichier batch ?
      Car, par exemple, en Visual Basic (c++ ou autre), tu lis et mémorise le fichier, trie le tableau en mémoire et écris les valeurs du nouveau tableau.
      C'est évidemment bcp plus simple..