Ajout de chaîne dans le nom de fichiers [Résolu]

Signaler
Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
-
Messages postés
29194
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 août 2020
-
Bonjour à tous et toutes

Je cherche un script . Bat qui me permettrai d'ajouter la même chaîne dans le nom des fichiers d'un dossier.

J'arrive à remplacer des caractères dans le noms des documents
@echo off
setlocal enabledelayedexpansion
 
chcp 1252
for /r "C:\Users\Delphine\Documents\notes" %%a in (*.csv) do (
  set "path=%%~nxa"
  set "path=!path:é=e!"
  set "path=!path:è=e!"
  move /y "%%~a" "%%~dpa!path!"
)
pause



J'arrive aussi à ajouter du texte dans un fichier de type txt après le premier ; de chaque ligne
set champ2=categorie
for /F "delims=; tokens=1,*" %%a in (resultat1.txt) do (
        echo %%a;%champ2%;%%b
        echo %%a;%champ2%;%%b >>resultat_final.txt
)


Mais je n'arrive pas à ajouter la même chaîne, exemple Nom - au début du nom des fichiers dans mon dossier

Merci pour l'aide que vous pourrez m'apporter.
Bonne journée à vous

2 réponses

Messages postés
12672
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
9 août 2020
3 447
Bonjour,

Il suffit de reprendre ton premier exemple et de rajouter la chaîne au début du nom, par exemple :
set "path=Nom - %%~nxa"

Le gros problème de ton premier exemple est l'utilisation de la variable %PATH%, je te suggère très très fortement de changer le nom de cette variable.


“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
1 503
Bonjour barnabe0057

J'ai essayé votre ligne de commande.
Ça ne marche pas, je vais continuer de chercher la solution

Merci d'avoir répondu
Messages postés
12672
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
9 août 2020
3 447
Je peux te corriger cela, si tu veux bien poster ton code.
Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
1 503
Voilà le code
J'ai fais comme tu l'as dit,
- pris mon premier script
- mis la ligne de commande que tu as indiqué

@echo off
setlocal enabledelayedexpansion
 
chcp 1252
for /r "C:\Users\Delphine\Documents\notes" %%a in (*.csv) do (
  set "path=%%~nxa"
  set "path=Delphine - %%~nxa"
  move /y "%%~a" "%%~dpa!path!"
)
pause
Messages postés
12672
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
9 août 2020
3 447
Ce n'est pas exactement ce que je voulais dire, je voulais dire ça :

@echo off
setlocal enabledelayedexpansion

chcp 1252
for /r "C:\Users\Delphine\Documents\notes" %%a in (*.csv) do (
set "file=Delphine - %%~nxa"
move /y "%%~a" "%%~dpa!file!"
)
pause
Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
1 503
Je viens de lancer le script

Ça marche.
Merci beaucoup
Messages postés
29194
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 août 2020
2 684 >
Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020

Bonjour DelNC.
Pour mettre un sujet en RESOLU il ne faut pas le SIGNALER ... mais simplement suivre ce lien qui explique comment faire
https://www.commentcamarche.net/faq/11365-marquer-un-fil-de-discussion-comme-etant-resolu

.