Retirer les espaces dans les dates

Résolu
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   -  
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   -
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.

@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

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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
1
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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
1
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Merci beaucoup.

Tu m'as enlever une très grosse épines du pied.
Grâce à toi je n'ai plus à renommer toutes les photos à la main.

:-)
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention  
 
De rien, content d'avoir pu être utile.
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
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

@+
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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
1
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Tu es trop fort.
Merci mille fois. :-)

C'est dans la partie ( 'dir ') ou je ne mettais pas les bons arguments.

Je voudrais continuer à apprendre à faire des scripts en batch.
Aurais-tu des pages internet à me conseiller ?

Merci
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention  
 
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/
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004 > barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci pour les sites, j'irai les visiter plus tard.

Je vais voir pour améliorer encore un peu mon script.
Il faut aussi renommer les sous dossiers.

Sur un des script que j'ai fait, il fallait ajouter /s /o après dir ...;
Donc çà ferait
 dir /b /ad /s /o "*.*"
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004 > DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention  
 
J'arrive à renommer les dossiers et sous dossiers

Mais je dois lancer une première fois mon script pour les dossiers et une deuxième fois pour les osus doosiers

dir /b/a-d/s/a
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention  
 
Désolé je ne comprend pas pourquoi tu dois lancer 2 fois ton script.

Donne-moi tout le contenu de ton script, on peut peut-être l'améliorer.
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
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.

@+
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Je viens de faire le test.
Le résultat sur la console est ok :-)
C'est pile poil ce que je voulais faire.

Il faut maintenant que j'arrive à renommer les photos comme il faut
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004 > DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai fait plein de tests et je n'y arrive pas.

Je ne peux pas accéder à ton adresse, mon firewall bloque la page.
Peux-tu, s'il te plaît me mettre le code dont j'ai besoin.

Merci
0