Demande d'aide sous batch

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. nn j'ai aucun probleme maintenant
    1. 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 ;)
  2. Contributeur
    cette commande ne fait rien, ça ne doit pas être ça le problème
    1. 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
      1. Contributeur
        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
        1. c'est obligé pause pour que je puisse rester dans la ligne de commande
          1. c'est bon je lé trouvé merci bcp pr ton aide
            c'est: echo |pause>nul
            merci pour tt ;)
            1. 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 ???
              1. Contributeur
                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:>
                1. 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???
                  1. 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
                    1. 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
                      1. Contributeur
                        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:>
                    2. Contributeur
                      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!
                      )
                      1. 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
                        1. Contributeur
                          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!
                          )
                          
                          1. 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
                            1. Contributeur
                              hello
                              C:> set nom=zzz2010121369857
                              
                              C:> echo %nom:~3,8%
                              20101213
                              
                              C:>