Script Batch

MegaBob Messages postés 27 Statut Membre -  
MegaBob Messages postés 27 Statut Membre -
Bonjour,
je voudrais renommer des fichier a l'aide d'un script Batch.
J'ai un logiciel qui me met de numéros suivie d'un espace devant mes nom de fichiers.
Je voudrais supprimer les 3 premiers caractères de chaque fichier, quelqu'un aurait une idées?
Merci d'avance
Configuration: Windows XP
Firefox 3.0.1

7 réponses

  1. I'm_Here Messages postés 156 Statut Membre 26
     
    Bonsoir,

    Tu as dit 2 caractères suivi d'un espace puis autres caractères; si la stucture est la bonne alors ce batch va fonctionner :
    exemple : 12 file.doc va devenir 12file.doc

    Ce batch traîte tous les fichiers *.* du repertoire en cours vous pouvez spécifier une extension *.doc,*.txt,...etc
    tu peux l'améliorer pour le rendre plus performent. ;)

    @echo off
    
    Setlocal enabledelayedexpansion
    
    For /f "tokens=*" %%z In ('dir /b /a-d "*.*"') Do (
    Set var=%%~z 
    Set varL=!var: =!
    ren "!var!" !varL!
     
     )
    
    endlocal


    bon codage
    1
  2. MegaBob Messages postés 27 Statut Membre 2
     
    J'ai essayer le script mais il me dit "le fichier spécifier est introuvable"
    1
  3. I'm_Here Messages postés 156 Statut Membre 26
     
    Bonsoir,

    Le problème n'est pas dans le code, il marche à la perfection..

    pour tester :

    créez un dossier TEST par exemple, y mettre le fichier batch et des fichiers qui portent un nom ayant la structure suivante :
    12 file2.txt
    0p my_file.doc
    54 test3.xml
    ..etc
    


    structure : 2 caractères + un espace + un nombre de caractères + point + extension

    double clique sur le fichier batch ou appelles-le de ton invite de commande ça donnera comme resultat ceci :

    file2.txt
    my_file.doc
    test3.xml
    
    1
  4. MegaBob Messages postés 27 Statut Membre 2
     
    C'est ce que j'ai fais, le problème c'est que ca marche quand je test avec des fichiers que je crée.
    Mais sur les fichiers que je copie ça ne fait rien :s

    Par Exemple je copie 14 DSC.jpg et je crée 12 DSCDFG.jpg
    je récupère 14 DSC.jpg et DSCDFG.jpg
    et ci je lance le script une deuxième fois j'obtiens 14 DSC.jpg et DFG.jpg

    Tu a une idée?
    Merci d'avance
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. MegaBob Messages postés 27 Statut Membre 2
     
    Merci de ta réponse, je vais essayer ca.
    Mais je voudrais que le script me suprime les deux premiers caratéres
    par exemple 12 file.exe deviendrait file.exe, je voudrais surprimer les 2caractere et l'espace
    Merci d"avance
    -1
  7. I'm_Here Messages postés 156 Statut Membre 26
     
    code qui marche :

    @echo off
    
    Setlocal enabledelayedexpansion
    
    For /f "tokens=*" %%z In ('dir /b /a-d "*.*"') Do (
    
    Set var=%%~z
    If !var! NEQ %~nx0 ( 
    Set varL=!var: =!
    Set varL=!var:~2!
    Ren "!var!" !varL!
     )
     )
    
    endlocal
    -1
  8. MegaBob Messages postés 27 Statut Membre 2
     
    Merci beaucoup
    je teste ca et je te redit quoi
    -1