Retirer les espaces dans les dates
Résolu
DelNC
Messages postés
2360
Statut
Membre
-
DelNC Messages postés 2360 Statut Membre -
DelNC Messages postés 2360 Statut Membre -
Bonjour à tous et toutes
Je viens vers vous car je cherche depuis deux jours à renommer mes documents.
Les fichiers sont tous nommés de la même manières
yyyy mm dd nomFichier et je voudrais les renommer tous de cette manière:
yyyymmdd_nomFicher
Pour l'instant j'arrive à remplacer tous les espaces par des -
Mais je n'arrive pas à coller les parties de la date.
Voilà le code que j'utilise par exemple pour les photos.
Je vous remercie d'avance pour l'aide que vous m'apporterez.
Bonne journée à tous et toutes
Je viens vers vous car je cherche depuis deux jours à renommer mes documents.
Les fichiers sont tous nommés de la même manières
yyyy mm dd nomFichier et je voudrais les renommer tous de cette manière:
yyyymmdd_nomFicher
Pour l'instant j'arrive à remplacer tous les espaces par des -
Mais je n'arrive pas à coller les parties de la date.
Voilà le code que j'utilise par exemple pour les photos.
@echo off
setlocal enabledelayedexpansion
chcp 1252
for /r "C:\Users\dossier_test" %%a in (*.jpg) do (
set "path=%%~nxa"
set "path=!path: =!"
move /y "%%~a" "%%~dpa!path!"
)
pause
Je vous remercie d'avance pour l'aide que vous m'apporterez.
Bonne journée à tous et toutes
5 réponses
-
Bonjour,
Voilà qui devrait t'aider :cd C:\Users\dossier_test
for /f "tokens=1,2,3,* delims= " %%B in ('dir /b /a-d *.jpg') do (echo %%B%%C%%D_%%E)
pause -
Normalement c'est le navigateur qui bloque mon site, pas le firewall, et ça peut se contourner facilement en cliquant en bas de la fenêtre.
Voilà le code :cd C:\Users\dossier_test
for /f "tokens=*" %%A in ('dir /b *.jpg') do (
for /f "tokens=1,2,3,* delims= " %%B in ("%%A") do (
if not "%%C"=="" (ren "%%A" "%%B%%C%%D_%%E" && echo %%B%%C%%D_%%E)
)
)
pause
exit-
-
Je viens de voir que je dois maintenant faire la même opération pour les dossiers.
Pour l'instant, j'arrive à remplacer dans le nom des dossiers les espaces par des _@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a In ('dir /b/a-d/s/a " C:\Users\dossier_test" ') Do (
set "$File=%%~nxa"
set "$File=!$File: =-!"
ren "%%a" "!$File!"
)
pause
Mais il faut que pour les dates je fasse la même chose que pour les photos.
Je vais me baser sur ton script.
J'espère y arriver
@+
-
-
Pour les dossiers :
cd C:\Users\dossier_test
for /f "tokens=*" %%A in ('dir /b /ad "*.*"') do (
for /f "tokens=1,2,3,* delims= " %%B in ("%%A") do (
if not "%%C"=="" (ren "%%A" "%%B%%C%%D_%%E" && echo %%B%%C%%D_%%E)
)
)
pause
exit-
-
Je n'ai pas vraiment de sites à conseiller mais voilà ceux à qui je me réfère le plus :
- https://www.robvanderwoude.com/shorts.php
- https://www.dostips.com/DtTipsStringManipulation.php
- https://www.batcher.fr/ -
-
-
-
-
Je te laisse chercher mais si jamais tu perds patience voilà la solution complète :
https://jirafeau.murky-lane.top/f.php?h=0uXHKKkB&p=1
Bonne journée. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci barnabe0057
Je vais essayer dans un premier temps de finir le script.
Si je n'y arrive pas, j'irai voir sur le site que tu proposes.
@+