Bonjour,
Je fais appel aux pros de la programmation
Depuis plusieurs heures j’essaye de créer un batch me permettant de renommer mes fichiers textes en ajoutant la date et l'heure. Après plusieurs recherches j'ai réussi cette étape.
Une fois mes fichiers texte renommés je voudrais les déplacer. C'est la que je bloque, pourtant ce devrait être la partie la plus simple
Le fait que j'ai 4 move a faire pose un problème. Quand je lance le bat, il déplace mes fichiers mais ne renomme que le premier. Alors que si j’enlève les "move" de mon code tous les fichiers sont bien renommés.
voici mon code:
Les 4 fichiers sont bien déplacés, mais seul le fichier texte de toto1 est renommé avec date et heure. (ordre de lecture?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 @echo off REM -------------------------------------------------------- REM REM Renommage des fichiers REM REM -------------------------------------------------------- set source=%C:\toto for /F "tokens=1,2 delims=:" %%g in ('time/T') DO (set heure=%%gh%%h) for /r "%source%" %%i in (*.*) do call :action "%%i" "%%~ni" "%%~xi" :action set control=%~1% set nom_de_fichier=%~2% set extension=%~3% set var_last=%control:~-5,1% IF NOT %var_last%==# ren "%control%" "%nom_de_fichier%-%date:~0,2%-%date:~3,2%-%date:~6,4%-%heure%%extension%" REM -------------------------------------------------------- REM REM Déplacer des fichiers REM REM -------------------------------------------------------- move /Y "C:\toto\toto1\*.txt" "C:\titi\toto1" move /Y "C:\toto\toto2\*.txt" "C:\titi\toto2" move /Y "C:\toto\toto3\*.txt" "C:\titi\toto3" move /Y "C:\toto\toto4\*.txt" "C:\titi\toto4"
La dernière tentative que j'ai faite est de mettre les move à la suite en les séparant par &, mais sans succès!
A l'aide!!!!!
Merci d'avance.
Partager