Demande d'aide sous batch

ziko.1988 Messages postés 25 Statut Membre -  
karirovax Messages postés 3584 Statut Membre -
Bonjour,

si klk1 peut m'aider svp
j'ai un fichier ki s'appel zzz2010121369857 et je veux extraire seulement la date 20101213 à partir de ce nom,
si klk1 peut me faire un script sous dos pour realiser sa
et merci d'avance

18 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    C:> set nom=zzz2010121369857
    
    C:> echo %nom:~3,8%
    20101213
    
    C:>
    0
  2. ziko.1988 Messages postés 25 Statut Membre
     
    merci pour ta reponse
    mais moi j'ai plusieurs fichier donc je dois faire une boucle,
    par exemple j'ai un dossier qui s'appel test et j'ai plusieurs fichier excel .xsl
    et je veut extraire seulement la date (zzz201001121547=20100112)
    et merci d'avance
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    une boucle comme ça
    @echo off
    
    setlocal enableDelayedExpansion
    for /f "delims=" %%a in ('dir /b zz*.xls') do (
    set nom=%%a
    echo !nom:~3,8!
    )
    
    0
  4. ziko.1988 Messages postés 25 Statut Membre
     
    svp mnt quand jé recuperé la date du fichier je veux supprimer tt les fichier .xls qui ont une date<2009(datesysteme-12)
    svp tu peut me faire le scipt qui fait sa
    et merci d'avance
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    tu remplaces la commande echo par ta commande de suppression.
    !!! tu fais des tests et des sauvegardes avant !!!
    @echo off
    
    setlocal enableDelayedExpansion
    set /a annee=%date:~6,4%-1
    for /f "delims=" %%a in ('dir /b zzz*.xls') do (
    set nom=%%a
    set /a anneefichier=!nom:~3,4!
    if !anneefichier! LEQ !annee! echo !nom!
    )
    0
  7. ziko.1988 Messages postés 25 Statut Membre
     
    nn sa veut marcher mon frer il me donne missing operande
    ché po ya une erreur klk part ché po moi si tu peut me rectifier ce prog et merci bcp,et stp essai ché toi si sa marche ou po,tu crée un dossier et tu met 3 fichier excel et essai stp ok
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      pas de language SMS
      C:> dir /b
      zzz200801121547.xls
      zzz200901121547.xls
      zzz201001121547.xls
      zzz2010121369857.xls
      
      C:> ..\bb
      zzz200801121547.xls
      zzz200901121547.xls
      
      C:> type ..\bb.bat
      @echo off
      
      setlocal enableDelayedExpansion
      set /a annee=%date:~6,4%-1
      for /f "delims=" %%a in ('dir /b zzz*.xls') do (
      set nom=%%a
      set /a anneefichier=!nom:~3,4!
      if !anneefichier! LEQ !annee! echo !nom!
      )
      C:>
      0
  8. ziko.1988 Messages postés 25 Statut Membre
     
    bnjr
    d'abord Merci beaucoup pour ta reponse c'est tres gentil
    stp maintenant je veux ke le message (appuyer sur une touche pour continuer),je voulais qu'il disparait ,comment je vais faire? et merci pour ta reponse
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    quel message ?
    0
  10. ziko.1988 Messages postés 25 Statut Membre
     
    bon,quand il termine l'execution il m'affiche appuyer sur une touche pour continuer,parceke jé mis pause dans le script,mantenant je veux ke le message disparait carement,c'est a dire quand j'execute il va faire le traitement du script et aprés il revient au c:>documents and settings\user>
    tu ma compris maintenant,je sais pas quoi faire???
    0
  11. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    enlever la commande pause du script, il se terminera à la dernière ligne.
    ou si tu veux quand même voir le messge sans qu'il s'arrête
    C:> echo | pause 
    Appuyez sur une touche pour continuer... 
    
    C:>
    0
  12. ziko.1988 Messages postés 25 Statut Membre
     
    oui c'est ce que je veux,mais je veux pas que le message apparait,si tu peut enlever le message,il termine sans message,je doit faire quoi stp ???
    0
  13. ziko.1988 Messages postés 25 Statut Membre
     
    c'est bon je lé trouvé merci bcp pr ton aide
    c'est: echo |pause>nul
    merci pour tt ;)
    0
  14. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    enlève la commande pause
    0
  15. ziko.1988 Messages postés 25 Statut Membre
     
    c'est obligé pause pour que je puisse rester dans la ligne de commande
    0
  16. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    comment est-ce que tu démarres ton script ?
    si tu veux rester en ligne de ccmmande à la fin du script, met cmd à la place de pause
    0
  17. ziko.1988 Messages postés 25 Statut Membre
     
    mais la sa a marché avec pause
    code:
    echo |pause>nul
    j'ai ajouter nul pour qu'il m'affiche rien et je reste dans la ligne tu vois,donc c applicable
    0
  18. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    cette commande ne fait rien, ça ne doit pas être ça le problème
    0
  19. ziko.1988 Messages postés 25 Statut Membre
     
    nn j'ai aucun probleme maintenant
    0
    1. karirovax Messages postés 3584 Statut Membre 215
       
      salut

      si vous faites un double clic sur votre fichier de commande ( batch ) , dans ce cas oui , il faut un pause comme ceci :

      pause|echo C'est termin'e
      ou
      pause|echo C'est termin'e>nul

      mais si vous travaillez sur l'invite de commandes ( CMD ) " en tappant directement a la console Ms-Dos" là la commande PAUSE n'a pas d'importance

      karirovax ;)
      0