Bonjour !
Je débute en batch ; c'est loin de mon boulot, mais ça me rend bien service à l'occasion.
J'ai un répertoire contenant des fichiers docx sous forme de 4 chiffres. Je dois les renommer pour ajouter un suffixe et les déplacer dans un dossier au nom du fichier d'origine (et un sous-dossier au nom du fichier renommé, ce qui donne : [nomFichier]\[nomFichier+suffixe]\[nomFichier+suffixe].docx).
Pour tester, j'ai essayé ça avec un nom pré-déterminé :
Et ça marche très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 @echo REM 1. Stocker nom dans une variable set nom=1234 REM 2. Renommer le fichier ren "%nom%.docx" "%nom%-COURRIER ARCHIVE.docx" REM 3. Créer les deux sous-dossiers md "%nom%\%nom%-COURRIER ARCHIVE" REM 4. Déplacer le fichier dans le sous-dossier move "%nom%-COURRIER ARCHIVE.docx" "%nom%\%nom%-COURRIER ARCHIVE"
Là où ça se complique, c'est pour essayer de mettre ça avec une variable ! J'ai tenté d'utiliser la boucle FOR mais ça n'a pas l'air de fonctionner :
J'ai essayé plusieurs variantes, mais rien n'y fait, je n'arrive pas à mettre dans la variable le nom du fichier sans l'extension et à le réutiliser ensuite dans ma boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @echo setlocal enabledelayedexpansion for %%M in (*.docx) do ( set %%m=%%M:~-5 md %%m-test pause )
Toute aide sera plus qu'appréciée, mais s'il y a quelques explications en bonus, ça sera parfait ! Merci !
Partager