Ajout de chaîne dans le nom de fichiers

Résolu
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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
A voir également:

2 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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.

0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
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
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Pourrais-tu préciser le résultat que tu obtiens ?
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Au fait, quand je lance le script, la fenêtre s'ouvre et se ferme tout de suite.

Je devrait normalement pour chaque ligne du dossier une ligne sur la fenêtre
Mais là, il ne se passe rien

Il doit y avoir une erreur de syntaxe
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Je peux te corriger cela, si tu veux bien poster ton code.
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
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
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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
0