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

Scripts/Batch Discussion :

Batch trie de répertoire


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Par défaut Batch trie de répertoire
    Bonjour,

    Je voudrais trier des répertoires par ordre alphabétique dans un batch ms-dos.

    Ces répertoires sont nommés numériquement. Par exemple 1.00, 2.00.. 10.00, 11.00 etc...

    Lorsque je fais un trie avec un "dir", ça me classe les répertoires de la manière suivante :

    1.00
    10.00
    11.00
    2.00
    3.00
    etc...

    Comment faire pour les classer par ordre suivant ?
    1.00
    2.00
    3.00
    ...
    10.00
    11.00

    Quelqu'un aurait-il une petite idée svp ?
    Merci d'avance pour vos réponses.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Par défaut
    Bonjour,

    01.00
    02.00
    03.00
    ...
    10.00
    11.00

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Par défaut
    Oui merci mais je veux le faire automatiquement dans un batch !

    Je ne trouve pas d'option dans la commande "dir" pour faire cela.

  4. #4
    Membre éprouvé

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Par défaut
    en fait il faut que tu renomme tes dossiers, pas que tu cherche à les trier.
    c'est comme si tu voulais trier "1 1 1 2 3 5" en "1 2 3 5 1 1"... c'est pas un ordre logique.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Par défaut
    Oui je sais bien mais je ne peux pas renommer les répertoires ! C'est une question de norme !

  6. #6
    Membre éprouvé

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Par défaut
    Pour renommer un répertoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rename "dossier 1" "dossier 2"
    que veux-tu dire par norme ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Par défaut
    Les dossiers sont normés de cette manière et ce n'est pas possible de les renommer ! Sinon cela serait trop facile ;-)

  8. #8
    Membre éprouvé

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Par défaut
    une boucle qui créer une liste de tes dossiers trié du plus petit nombre au plus grand sa t'intéresse ? j'ai du mal à comprendre ce que tu veux faire ...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Par défaut
    Ah oui ça m’intéresse... :-)

    Le but de me manœuvre c'est de récupérer dans une variable le nom du répertoire le plus grand. En l’occurrence ici ça sera 11.00.

  10. #10
    Membre éprouvé

    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Par défaut
    j'ai fait ce code vite fait, il affiche les dossiers trié.

    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
    @echo off
    set dossier=c:\dossier 1
    
    setlocal enabledelayedexpansion
    echo.>tmp.txt
    for /f "tokens=1-3* skip=2" %%i in ('dir "%dossier%" ^|find "<REP>"') do (
    set tmp_ch=%%l
    for /f "tokens=1* delims=." %%a in ("%%l") do set tmp_ch1=%%a&set tmp_ch2=%%b
    call:def_n
    echo>>tmp.txt !tmp_ch1!;!tmp_ch!)
    for /f "tokens=1-2 delims=;" %%i in ('sort tmp.txt') do echo %%j
    del tmp.txt
    pause
    exit /b
    
    :def_n
    if "!tmp_ch1:~6,1!"=="" set tmp_ch1=0!tmp_ch1!&goto def_n
    goto:eof

  11. #11
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    Le plus simple c'est de trier la sortie de dir avec la commande gnu sort...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 68
    Par défaut
    Merci beaucoup Cmanix, c'est exactement ce qu'il me fallait !

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/12/2007, 12h22
  2. batch listeur de répertoires bogué
    Par blackaagony dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 30/07/2007, 09h27
  3. Réponses: 4
    Dernier message: 01/08/2006, 08h34
  4. Batch : copy d'un répertoire avec des espaces
    Par krfa1 dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 26/10/2005, 12h47
  5. Réponses: 2
    Dernier message: 08/07/2005, 10h40

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