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 :

Renommer un répertoire dont on connait le début du nom [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut Renommer un répertoire dont on connait le début du nom
    Bonjour.

    J'ai des répertoires dont le nom est de la forme "repertoire_254gfy242j" que je souhaiterai renommer en "repertoire".
    Je me bats depuis ce matin avec les ren, delims et eol sans résultat.

    Est ce que quelqu'un peut m'aider ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 546
    Points : 1 084
    Points
    1 084
    Par défaut
    Bonjour,

    La commande REN renomme uniquement des fichiers, pour renommer des dossiers il faut utiliser MOVE.

    Voilà à quoi ça devrait ressembler (si les dossiers se trouvent sur le bureau) :

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pushd "%USERPROFILE%\Desktop"
     
    for /f "delims=" %%A in ('dir /b /ad') do ( 
     
    for /f "tokens=1 delims=_" %%E in ("%%~A") do move "%%~dpnA" "%%~E"
     
    )

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Merci.

    J'ai oublié de préciser, je lance cette commande dans le repertoire où se trouve le nom de sous-repertoire à modifier.
    Il n'y a pas toujours un "_" pour séparer mais le nom de ce sous répertoire commence toujours par "repertoire"

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    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 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Si tu as 2 répertoires "repertoire_xxxxxx" au même endroit ils auront donc le même nom ?! Ce qui n'est pas permis par le système de fichier.
    Donc tu veux les renommer mais en quoi d'autre ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Il n'y a qu'un répertoire "repertoire_xxxxxx", pas de risque de ce côté là.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 546
    Points : 1 084
    Points
    1 084
    Par défaut
    Puisqu'il n'y a qu'un seul répertoire :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    move "chemin vers le dossier\repertoire_xxxxxx" "repertoire"

  7. #7
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Oui, mais je ne maitrise pas le xxxx, je ne sais pas de quoi il est fait.

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 546
    Points : 1 084
    Points
    1 084
    Par défaut
    Dans ce cas tu peux utiliser une wildcard :

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    move "chemin vers le dossier\repertoire_*" "repertoire"

  9. #9
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    J'ai un acces denied avec move.
    Je n'y arrive pas non plus avec robotcopy ni xcopy :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set Rep_travail="C:\Laboratoire\Sources_Developement"
    set Nom_cible="developpement-develop"
    REM robocopy %Rep_travail%\%Nom_cible%* %Rep_travail%\%Nom_cible% /E /MOVE >> %logs%
    move %Rep_travail%\%Nom_cible%* %Rep_travail%\%Nom_cible% >> %logs%
    REM xcopy %Rep_travail%\%Nom_cible%* %Rep_travail%\%Nom_cible% /s /e /h >> %logs%

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 546
    Points : 1 084
    Points
    1 084
    Par défaut
    Dans ce cas il il s'agit d'un problème de permissions, le batch n'y est pour rien.

  11. #11
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    On ne peut pas forcer ses permissions ?
    ou contourner ce problème ?

  12. #12
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Le dossier est au moins autorisé en lecture, devrait pouvoir faire une copie?

  13. #13
    Membre éprouvé
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 546
    Points : 1 084
    Points
    1 084
    Par défaut
    Si le script est exécuté avec les droits admin tu peux modifier les permissions avec la commande ICACLS.

    Le problème pourrait venir également d'un utilisateur ou d'un programme qui travaille dans le dossier pendant que tu essaies d'y accéder pour le renommer.
    C'est assez facile à vérifier en passant par l'interface graphique.

  14. #14
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    C'est bon.
    Ca marche.
    Merci beaucoup.

  15. #15
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.

    En fait il y a un problème que je n'avait vu.

    il y a bien plusieurs (2) "objets" qui commence par dossier\repertoire : un repertoire : repertoire5468454gcd et un fichier zip : dossier\repertoire3254.zip
    Et le :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    move "chemin vers le dossier\repertoire*" "repertoire"
    transforme le nom du zip.

    Y a t-il un moyen pour que le "move" ne se fasse pas vers le ".zip" ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/12/2014, 13h13
  2. Réponses: 8
    Dernier message: 03/12/2014, 09h46
  3. Recherche fichier dont on connait une partie du nom
    Par kluh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/11/2008, 08h31
  4. Réponses: 2
    Dernier message: 23/02/2008, 16h26
  5. Réponses: 2
    Dernier message: 10/04/2007, 15h32

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