Retirer les espaces dans les dates

Résolu
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.

@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

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
  2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
    1. DelNC Messages postés 2360 Statut Membre 2 010
       
      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
      1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > DelNC Messages postés 2360 Statut Membre
         
        De rien, content d'avoir pu être utile.
        0
    2. DelNC Messages postés 2360 Statut Membre 2 010
       
      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
  3. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
    1. DelNC Messages postés 2360 Statut Membre 2 010
       
      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
    2. DelNC Messages postés 2360 Statut Membre 2 010 > barnabe0057 Messages postés 14329 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
    3. DelNC Messages postés 2360 Statut Membre 2 010 > DelNC Messages postés 2360 Statut Membre
       
      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
    4. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > DelNC Messages postés 2360 Statut Membre
       
      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
  4. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. DelNC Messages postés 2360 Statut Membre 2 010
     
    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
    1. DelNC Messages postés 2360 Statut Membre 2 010
       
      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
      1. DelNC Messages postés 2360 Statut Membre 2 010 > DelNC Messages postés 2360 Statut Membre
         
        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