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 fichier dans un dossier spécifique


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut Renommer un fichier dans un dossier spécifique
    Bonjour, je souhaite renommer le fichier Normal.dotm par Old_Normal.dotm dans un dossier spécifique.

    Je vais avoir à faire cette manipulation sur plusieurs pcs et je pensais à un script.

    Voici ce que j'ai écris en cherchant sur le net :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    chdir C:\Users\xxx\AppData\Roaming\Microsoft\Templates
    
    ren Normal.dotm old_Normal.dotm
    J'ai enregistré ce fichier en .bat mais quand je l'exécute, il ne va pas chercher dans le dossier qui m'intéresse mais renomme le fichier normal.dotm (s'il y en a un) dans le dossier actif.

    Merci de votre aide.

  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,

    Bizarre, peut-être que le script .bat n'est pas sur le même disque, dans ce cas il faut rajouter le commutateur /d comme ceci :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    chdir /d C:\Users\xxx\AppData\Roaming\Microsoft\Templates

    Pour le chemin vers le fichier, je vous suggère l'utilisation de la variable d'environnement %AppData%, ça vous évitera de devoir modifier le script pour chaque machine/utilisateur différent(e) :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    chdir /d %AppData%\Microsoft\Templates

    Une dernière remarque qui pourrait expliquer votre problème : sur mon windows 10 je n'ai pas le dossier C:\Users\xxx\AppData\Roaming\Microsoft\Templates, par contre j'ai un dossier C:\Users\xxx\AppData\Roaming\Microsoft\Windows\Templates

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup Barnabe0057 !

    C'était pourtant sur le même disque, mais le /d fait toute la différence.

    Merci pour l'astuce de la variable d'environnement, c'est tout-à-fait ce qu'il me fallait.

    Bonne journée !

  4. #4
    Membre à l'essai
    Homme Profil pro
    retraité, informatique amateur
    Inscrit en
    Juin 2021
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : retraité, informatique amateur

    Informations forums :
    Inscription : Juin 2021
    Messages : 8
    Points : 15
    Points
    15
    Par défaut
    J'ai pour ma part un dossier Windows sans sous-dossier Templates et un dossier Templates qui ne contient pas de modèles, très certainement parce qu'ils sont personnalisés dans une partition logique de données laquelle est elle-même sauvegardée quotidiennement sur une autre au cas où, mais qui pose le problème d'application d'un tel script dans un réseau où les utilisateurs auraient été pris de la même fantaisie que la mienne: il conviendrait en pareil cas que le script cherche le fichier Normal.dotm et en retourne le chemin à la variable d'environnement.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par brucine Voir le message
    J'ai pour ma part un dossier Windows sans sous-dossier Templates et un dossier Templates qui ne contient pas de modèles, très certainement parce qu'ils sont personnalisés dans une partition logique de données laquelle est elle-même sauvegardée quotidiennement sur une autre au cas où, mais qui pose le problème d'application d'un tel script dans un réseau où les utilisateurs auraient été pris de la même fantaisie que la mienne: il conviendrait en pareil cas que le script cherche le fichier Normal.dotm et en retourne le chemin à la variable d'environnement.
    Merci pour cette précision mais je commence tout juste avec les scripts et je ne sais pas vraiment faire une recherche.

    D'ailleurs, j'ai crié victoire un peu trop vite car ça fonctionne sur mon pc en local mais quand j'essaie de l'utiliser sur notre serveur, ça ne fonctionne pas.

  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
    Comment est-ce que le script est exécuté sur le serveur ? Manuellement ? A distance ? Via une tâche planifiée ? Automatiquement au démarrage de l'ordinateur ?

    Est-ce que tu as vérifié si le chemin est correct ?
    Est-ce que tu as vérifié si la variable %AppData% existe ?

    Est-ce que tu obtiens une erreur ou bien le script se déroule comme si de rien n'était ?

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par barnabe0057 Voir le message
    Comment est-ce que le script est exécuté sur le serveur ? Manuellement ? A distance ? Via une tâche planifiée ? Automatiquement au démarrage de l'ordinateur ?

    Est-ce que tu as vérifié si le chemin est correct ?
    Est-ce que tu as vérifié si la variable %AppData% existe ?

    Est-ce que tu obtiens une erreur ou bien le script se déroule comme si de rien n'était ?
    Pour l'instant, c'est moi qui double clic sur le fichier que j'ai renommé en .bat
    Oui, le chemin semble correct.

    Comment je peux vérifier que la variable %AppData% existe ?

    Pas d'erreur lors de l'exécution.

  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
    Pour vérifier l'existence de la variable %AppData% : ouvre une invite de commandes et tape SET tu obtiendras la liste des variables d'environnement disponibles

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par barnabe0057 Voir le message
    Pour vérifier l'existence de la variable %AppData% : ouvre une invite de commandes et tape SET tu obtiendras la liste des variables d'environnement disponibles
    oui, j'ai bien cette variable.
    J'ai d'ailleurs exécuter les deux lignes de commandes dans l'invite et là ça se passe bien.

  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
    Le fichier à renommer était peut-être en cours d'utilisation au moment où tu as lancé le script.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par barnabe0057 Voir le message
    Le fichier à renommer était peut-être en cours d'utilisation au moment où tu as lancé le script.
    Non, j'y ai fait attention

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par MauNic2 Voir le message
    Non, j'y ai fait attention
    Par contre, je viens de ré-essayer, et là bizarrement ça a fonctionné !

    Peut-être avais-tu raison !

  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
    Tu pourrais modifier ton script en conséquence :

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    chdir /d %AppData%\Roaming\Microsoft\Templates || exit /b 1
     
    :boucle
     
    ren "Normal.dotm" "old_Normal.dotm"
     
    if not exist "old_Normal.dotm" (goto :boucle)

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Super, merci beaucoup de ton aide précieuse.

    Une dernière question : je veux maintenant copier un fichier qui se trouve dans un répertoire A vers un répertoire B, je suppose que c'est copy mais je ne sais pas comment gérer au niveau des chemins.

  15. #15
    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
    Voilà la syntaxe pour la commande COPY :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    copy "répertoire A\fichier.dotm" "répertoire B"

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par barnabe0057 Voir le message
    Tu pourrais modifier ton script en conséquence :

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    chdir /d %AppData%\Roaming\Microsoft\Templates || exit /b 1
     
    :boucle
     
    ren "Normal.dotm" "old_Normal.dotm"
     
    if not exist "old_Normal.dotm" (goto :boucle)
    Avec cette commande (if not exist...) j'ai peur que le script tourne en boucle et ne me redonne pas la main.

    En essayant de mettre la commande copie, le renommage ne se fait plus alors que je n'ai pas touché aux 2 premières lignes !

  17. #17
    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
    Comme dit plus haut, le fichier était peut-être en cours d'utilisation, donc verrouillé.

    Quel est le but de tout ça ?
    On ne fait pas tourner Word sur un serveur, donc j'imagine que c'est pour modifier les réglages Word des utilisateurs, lesquels ont leur profil stocké sur le serveur.
    Je me trompe ou pas ?

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Word n'est pas en cours d'utilisation.
    L'objectif est effectivement de mettre un même modèle contenant des macros à tous les utilisateurs du serveur avec une personnalisation du ruban.

    Je crois que le problème vient du nom du dossier où se trouve le fichier à copier. En effet, celui-ci se nomme "_Boîte à outils"
    Je sais qu'il faut éviter les accents mais ce dossier a été mis en place avant mon arrivée, et difficile à renommer car plusieurs ont des raccourcis vers ce dossier.

    En tout cas, je vous remercie vivement de votre aide.

  19. #19
    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
    Citation Envoyé par MauNic2 Voir le message
    Word n'est pas en cours d'utilisation.
    L'objectif est effectivement de mettre un même modèle contenant des macros à tous les utilisateurs du serveur avec une personnalisation du ruban.
    Est-ce que Word est installé localement sur chaque poste de travail ou bien il est accessible en réseau via Terminal Server ?


    Je crois que le problème vient du nom du dossier où se trouve le fichier à copier. En effet, celui-ci se nomme "_Boîte à outils"
    Pour gérer les accents au niveau de la console, il faut modifier le codepage, pour cela il faut utiliser la commande CHCP.

    Il faut essayer lequel convient le mieux parmi ceux-ci : 850, 1252, 28591, 65001

    Par exemple : CHCP 1252

  20. #20
    Futur Membre du Club
    Femme Profil pro
    Responsable Informatique
    Inscrit en
    Août 2020
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable Informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2020
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Merci Barnabe0057 pour tout !

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

Discussions similaires

  1. [Batch] Supprimer un fichier dans un dossier spécifique
    Par jujudeo dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 14/05/2021, 18h35
  2. [Batch] Copier et renommer des fichiers dans des dossiers et sous dossiers
    Par KeuZzDar dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 05/12/2018, 14h46
  3. Réponses: 1
    Dernier message: 12/06/2015, 21h25
  4. Sauvegarder un fichier Word dans un dossier spécifique
    Par vash641 dans le forum VBA Word
    Réponses: 2
    Dernier message: 27/05/2009, 19h09

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