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 :

Création de sous répertoire à partir d'une partie du nom de fichier d'une longeur variable [Batch]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Création de sous répertoire à partir d'une partie du nom de fichier d'une longeur variable
    Bonjour

    Je cherche à créer un répertoire en fonction du nom du fichier en pdf et à le regrouper par rapport aux 3 premiers caractères du nom.

    Mes fichiers - Ils sont tous dans le mêmes répertoires

    ABC_XY_490941_______le_20200115_a_13004794_au_20191231.pdf
    ABC_XY_490942_______le_20200115_a_13005954_au_20191231.pdf
    ABC_XY_4709271______le_20200115_a_13003184_au_20191231.pdf
    ...

    Ce que j'arrive à faire

    - Créer les répertoires 490 et 470
    - Créer les sous répertoires
    490941_______
    490942_______
    4709271______
    - Déplacer les fichiers dans les sous répertories (exemple : le fichier ABC_XY_490941_______le_20200115_a_13004794_au_20191231.pdf dans \490\490941_______


    Ce qui me pose problème

    Je ne veux garder que les nombres pour mes sous-répertoires, je voudrais

    490941
    490942
    4709271


    La longueur de ces données est variable et peut contenir jusqu'à 13 caractères


    Voici le code que j'utilise

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    setlocal enabledelayedexpansion
    for %%i in (*.*) do (
    if not %%i==EM.bat (
    set rep=%%i
    set rep0=!rep:~7,3!
    set rep1=!rep:~7,13!
    rename "%%i" "%%i.tmp"
    md "!rep0!\!rep1!"
    move "%%i.tmp" "!rep0!\!rep1!\%%i"
    )
    )
    J'ai essayé de faire des "choses" avec les commande (tokens+delims) mais c'est la catastrophe

    Pourriez-vous m'aider dans la résolution de ce problème ?

    Merci à vous

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    setlocal enabledelayedexpansion
    for %%i in (*.pdf) do (
    	set file=%%~i
    	set rep=!file:~7,3!\!file:~7,13!
    	set rep=!rep:_=!
     
    	if not exist "!rep!\" md "!rep!" >nul
    	copy "!file!" "!rep!" /Y >nul
    )

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Désolé pour le délai de réponse (petit souci à régler)

    Merci pour l'astuce "set rep=!rep:_=!" afin de remplacer le _

    J'ai juste ajouter un del afin de supprimer les fichiers initiaux après la copie dans les répertoires.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/05/2017, 10h04
  2. [XL-MAC 2011] Création d'un PDF à partir d'une zone sélectionnée sous Excel 2011
    Par Holycat dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/12/2016, 15h56
  3. Réponses: 4
    Dernier message: 23/09/2015, 22h08
  4. Réponses: 9
    Dernier message: 30/12/2005, 03h00
  5. Réponses: 2
    Dernier message: 04/06/2004, 10h36

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