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 :

Manipulation de chaîne de caractères et boucle


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 88
    Par défaut Manipulation de chaîne de caractères et boucle
    Bonjour,

    Je dois faire un script en batch.
    Voilà j'ai un répertoire(source) qui contient +/- 40 fichiers.
    Les fichiers sont nommés comme cela:

    Contenu de ..\source\:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    20567886789076_56788_75488.pdf
    20567886789076_34678_85786.pdf
    20567886345568_39768_34566.pdf
    .....
    .....
    Il faut que je tri ces fichiers dans des répertoires bien précis ,ces répertoires existent ou pas déjà dans le répertoire source et ils se nomment grâce au 14 premiers caractère des fichiers c'est à dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    20567886345568
    20567886789076
    ......
    Donc pour résumer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Pour chaque fichiers du répertoire source
         Je récupère les 14 premiers caractère du nom de premier fichier et je récupère ces 14 caractère dans "ma_chaîne "
                  Si un répertoire du nom de "ma_chaine" existe dans le répertoire source
                        Je dépose le fichier dedans
                  Sinon 
                         Je crée un répertoire ma_chaine
                         Je dépose le fichier dedans
    Et je passe au fichier suivant...
    Voilà, en espérant avoir été clair ^^

    Merci

  2. #2
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Bonjour,

    Je n'ai pas le temps de faire plus mais voici la partie qui récupère les 14 premiers caractères de chaque fichiers PDF du dossier dans lequel se trouve le .bat.

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off & cls
    setlocal enabledelayedexpansion
    for %%I in (*.pdf) do (
        set "$FileName=%%I"
     
        echo !$FileName!
        set "$DirectoryName=!$FileName:~0,14!"
        echo !$DirectoryName!
    )
    pause

  3. #3
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Bug du site, à supprimer svp

  4. #4
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Petite mise à jour du soir:

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off & cls
    setlocal enabledelayedexpansion
    for %%I in (*.pdf) do (
        set "$FileName=%%I"
        set "$DirectoryName=!$FileName:~0,14!"
        echo !$DirectoryName!
        if not exist "!$DirectoryName!" md "!$DirectoryName!"
        if exist "!$DirectoryName!" move "!$FileName!" "!$DirectoryName!"
     
    )
    pause

    Est-ce que cela te convient?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 88
    Par défaut
    Oui ça marche, c'est ce que j'avais besoin merci.
    Alors maintenant j'aimerais poser une question qui n'a pas rien à voir avec les manipulation de chaîne.
    J'aimerais copier le contenu de plusieurs répertoire avec "robocopy".

    Voici un mon arborescence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    E:\rep1\rep2\pp.pdf
    E:\rep1\rep3\pu.pdf
    E:\rep1\rep4\pr.pdf
    E:\rep1\rep5\pf.pdf
    E:\rep1\rep6\py.pdf
    E:\rep1\rep7\pi.pdf
    ....
    J'aimerais copier tout le contenu des répertoires rep2,rep3,rep4,rep5,rep6,rep7...dans un même repertoire D:\repr\repo\

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    D:\repr\repo\pp.pdf
    D:\repr\repo\pu.pdf
    D:\repr\repo\pr.pdf
    D:\repr\repo\pf.pdf
    D:\repr\repo\py.pdf
    D:\repr\repo\pi.pdf
    c'est possible pour robocopy ?

  6. #6
    Membre émérite Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Par défaut
    Pourquoi robocopy et pas xcopy ou copy?

    Et oui c'est possible, ce seront tous les fichier .PDF ou nominatifs?

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 88
    Par défaut
    Citation Envoyé par devilsnake88 Voir le message
    Pourquoi robocopy et pas xcopy ou copy?

    Et oui c'est possible, ce seront tous les fichier .PDF ou nominatifs?
    Oui ce sont tous les fichiers pdf que je veux rassembler dans un même répertoire.

Discussions similaires

  1. MFC + Manipuler les chaînes de caractères
    Par mqsi dans le forum MFC
    Réponses: 2
    Dernier message: 15/11/2006, 16h24
  2. Manipulation de chaînes de caractères
    Par carreau dans le forum Contribuez
    Réponses: 1
    Dernier message: 26/10/2006, 10h46
  3. Manipulation de chaînes de caractères
    Par sbeprod dans le forum Access
    Réponses: 15
    Dernier message: 28/07/2006, 14h33
  4. Réponses: 3
    Dernier message: 07/12/2005, 10h09
  5. Etat - Manipulation de chaînes de caractères
    Par migaleb dans le forum Access
    Réponses: 3
    Dernier message: 07/12/2005, 09h55

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