Ecrire batch ....sous xp

bonjour a tous
qui connait la syntaxe sous xp pour ecrire un batch afin de creer
un dossier de facon automatique avec la date du jour
merci a tous

46 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

Un batch sous XP permettant de créer un dossier portant la date du jour nécessite une gestion fiable de la date et des espaces dans le nom. Plusieurs méthodes donnent le nom du dossier en utilisant FOR /F avec DATE/T ou des substitutions directes des variables %date% et %time% pour composer le format JJ-MM-YYYY, suivi d'un md/mkdir. Des exemples pratiques utilisent FOR /F 'DATE/T' pour extraire jour, mois et année, puis créent le répertoire ainsi nommé, par exemple mkdir C:\Sauvegardes\%date% et %time%. En pratique, les résultats peuvent varier selon le format régional et les espaces, et certaines solutions exigent d'encadrer les variables par des guillemets dans les scripts pour éviter les erreurs.

Bobot (l’IA à votre service)
  1. c bien bo de faire la morale mais ta fonction ne marchent pas...

    voila ce que j ai trouve depuis :

    set Mydate=%date:~10,4%-%date:~7,2%-%date:~4,2%-%time:~0,2%.%time:~3,2%

    md Report_%Mydate%
    cd Report_%Mydate%

    et ensuite je sauvegarde dans le fichier courant...

    bon vent

    jacques
    1. salut,
      Si tu crées un dossier un jour, il a, par défaut, la date de ce jour, non ?
      Donc :
      Cd <le chemin>
      md <le nom du dossier>

      Cordialement  et @+ 
      Chi va piano va sano..chi va sano va più lontano e più alto
      1. Bonjour tout le monde...
        voici votre solution tant attendue.. (parceque les backups c'est la santé et des activités en plus)

        for /F "tokens=1,2,3,4,5,6,7 delims=/:, " %i in ("%date% %time%") do rem %l%k%j %m%n%o

        Le format de la date est : ME. 27/07/2004

        Si vous ne souhaitez qu'obtenir la date au format 20040727 et que votre format date est : (%date%) : 27/07/2004

        for /F "tokens=1,2,3 delims=/" %i in ("%date%") do rem %k%j%i

        (cette dernière version n'a pas été testé mais devrait être fonctionelle).

        Au lieu de mettre REM après le DO, il faut mettre MKDIR.
        PS : il serait peut être préférable d'éviter de longues discutions "phylosophiques" et répondre de manière plus concise afin de rendre le forum plus professionnel et de recevoir une qualité de réponses meilleures. Ca n'engage que moi, évidement.
        1. Contributeur
          Le philo... tu disais ?

          Relis le poste <9> = marche a suivre + explications => fonctionnel
          PS: Ou pourquoi faire simple quand on peut faire compliqué ?
          ça n'engage que toi bien évidemment.

          ~°sidarus°~
      2. salut tigris..,

        Tout baignre depuis que tu es là..
        C'est moins plilosophique. C'est net.

        Cordialement  et @+ 
        Amato non sarai, se a te solo penserai.
        1. Est ce que quelqu'un est arrivé à avoir la date - 1 ?

          J'ai vu que si on a par exemple la date 12/11/2004, en faisant:
          Set /a J-1 = %DATE:~5,-8% - 1
          Set /a M-1= %DATE:~8,-5%
          Set /a A-1=%DATE:~11%
          Là j'ai bien 11/11/2004

          Mais lorsque j'ai un date avec un zéro : 02/09/2004 ça ne marche plus ! pour le jour... Et idem pour le mois...

          Une soluce ????

          Merci
          1. Ok sidarus, merci pour le mail, mais au Poste <9> je ne vois rien qui puisse me donner la date - 1 !

            Mais pas grave j'ai fais autrement ... tous simplement en enregistrant la date dans un fichier que je compare le lendemain...

            La veille j'écrit:
            Echo %DateTime% > Concat\Concat.log

            et le mendemain je controle:
            If Not Exist Concat\Concat.log goto NoConcat
            For /F " tokens=1 delims=" %%i IN (Concat\Concat.log) do @set ConcTime=%%i

            If %ConcTime% == %DateTime% goto Fin

            :NoConcat

            Suite du traitement.....

            :Fin

            Bon Ok y'a surement une solution plus simple.. mais je ne l'ai pas trouvé ! Et personne ne me l'a dite !
            1. Contributeur
              (Le mail c'est pas moi... faut que tu désactive le suivi du forum)

              Bon visiblement tu as le meme pb que coudezef (post <10>).
              Vérifies ce que te retourne la variable %date% en tapant :

              Voici ce que j'obtiens (sur TOUS mes PCs) :
              C:\>echo %date% %time%
              31.08.2004 12:56:56.73

              (%date% %time%, et non %DateTime%)

              Si tel est le cas md %date% te cré un dossier %date%. En tapant une 2x fois cette commande tu obtiens le message "Un sous-répertoire ou un fichier 31.08.2004 existe déjà" ce qui prouve que le dossier a été créé.

              ~°sidarus°~
              1. ^'est pas dans le sujet précis quoi que...

                Moi je créée des BATCH très puissant à partir d'EXCEL
                Je crée une hierarchie complète ainsi que des sous-dossiers.

                Il est possible de même faire les noms long si l'on place les parenthèses.

                Pour ce faire, j'utilise la première colonne concaténée comme source de mon batch. Puis je la copie colle dans notepad et ainsi je peux créer un millier de dossiers et sous-dossiers.

                Mais attention, le nombre de dossiers ne devrait pas dépasser 300MAXI dans une hierarchie directe.

                de plus la copie vers le bas avec incrémentation d'Excel se révèle très utile.

                Ainsi que le TRAIT DROIT obtenu sur vos claviers avec le signe ¦ qui se fransforme en | dans votre système.

                Attention de respecter la notion des espaces, les noms court, sans accent, les underline à la place des espaces si vous ne voulez pas utiliser les "chemin texte " pour les noms long.

                testez cela en batch

                -----------------------------------------------------------------------
                md 1_08_2004|md 1_08_2004\word|md 1_08_2004\excel|md 1_08_2004\word\correspondance

                md 1_09_2004|md 1_09_2004\word|md 1_09_2004\excel|md 1_09_2004\word\correspondance

                -----------------------------------------------------------------------

                Pour infos

                Eric
                1. Contributeur
                  EXEMPLE FONCTIONNEL

                  FOR /F "tokens=1-3 delims=./: " %%a IN ('DATE/T') DO SET date=%%a-%%b-%%c
                  
                  MD c:\backup_du_[%date%]


                  RESULTAT : c:\backup_du_[31-08-2004]

                  ADAPTATIONS POSSIBLES :

                  1/ delim
                  - delims=. <--%date% = JJ.MM.AA
                  - delims=/ <--%date% = JJ/MM/AA
                  - delims=: <-- %date% = JJ:MM:AA

                  2/ date
                  - date=%%a-%%b-%%c = 31-08-2004
                  - date=%%a.%%b.%%c = 31.08.2004
                  - date=%%a%%b%%c = 31082004
                  - ...

                  3/ MD
                  - md %date%
                  - md c:\backup_du_[%date%]
                  - ...

                  ~°sidarus°~
                  1. Avé Sidarius,

                    Quand je tape %Date% J'ai mar. 31/08/2004

                    Le DateTime que j'ai c'est une variable initialisée comme suit:

                    set DateTime= %DATE:~5,-8%%DATE:~8,-5%%DATE:~11%

                    Elle contient 31082004

                    Bon mon usine a gaz fonctionne maintenant, mais ça aurait été plus simple si j'avais pu avoir la date antérieur par simple %Date% -1...

                    M'enfin la sauvegarde de la date tous les jours dans un .txt ça marche bien aussi !!

                    En fait je créé des Rapports tous les jour avec la date et l'heure Heure / Heure ( Rapport General du 30082004 7h00.txt ... etc ), et le lendemain, donc le 31, je concatène les fichiers du 30 sous la forme ( RapportJ-1.txt ) et ce pendant 6 jours, le 7 jour je concatène tous en ( Rapport Semaine -1.txt ).
                    Voilà pourquoi je cherchais à avoir date -1 ...

                    Yo conprendo ?

                    Si je fais un copier coller du .cmd tu vas prendre peur !! lol

                    ;-) Fred
                    1. Contributeur
                      Re Fred_L

                      Connais-tu l'usage de .LOG en 1ère ligne dans unTXT ?
                      Cette formule ne te conviendrais pas ?

                      Extrait Aide NotePad :
                      Pour ajouter un journal à la fin d'un document
                      Sur la première ligne d'un document Bloc-notes, tapez l'extension suivante depuis la marge de gauche, en veillant à utiliser des majuscules et à ne pas oublier le point :
                      .LOG

                      Dans le menu Fichier, cliquez sur Enregistrer.

                      Remarque

                      Chaque fois que vous ouvrirez ce document, le Bloc-notes ajoutera à la fin l'heure et la date actuelles, telles qu'elles sont définies par l'horloge de votre ordinateur.


                      ~°sidarus°~
                    2. Je connait le .LOG, mais cela ne me va pas....

                      Ce que je cherchait vraiment, c'est qu'aujourd'hui 31/08/2004 je puisse par une simple comande avoir la date d'hier... 30/08/2004 ou date -2 29/08/2004.. etc....

                      Mais a priori on ne peut pas !
                      Sauf faire comme j'ai fait.... je jour aujourd'hui sauver la date dans un fichier de façon à ce que demain je puisse avoir la date - 1....

                      Mais rassure toi, je finirais bien par trouver une solution plus simple !

                      @+ Fred
                    3. Contributeur
                      Au fait tu veux le résultat de %date%=%date% -1

                      C'est en principe possible puisque tout système dispose d' une fonction temporel retournant le nombre de seconde écoulées depuis une date définie, le 01.01.1900 (si je ne m'abuse).

                      Il s'uffit dans ce cas de faire ceci :
                      - convertir %time% en %sec écoulées dans 1 journé
                      - convertir %date% en %jrs écoulés depuis le 01.01.1900
                      %now = %jrs * %sec         REM %now = %date% + %time%
                      %hier = %now - 60*60*24    REM 1 jr = 86400 sec
                      

                      ... ça peut etre un exercice sympa :)

                      ~°sidarus°~
                  2. Pour ceux que ça intéresse... Car des fois on cherche mais on trouve pas !

                    Demande d'info à l'utilisateur : ( Message box )

                    Elle est appelée comme ça depuis les autre .cmd:

                    Call InputBox.cmd "Entrez le mot de passe pour xxxx :" "Indice que tu veux xxxx"

                    InputBox.cmd
                    -----------------------------------------------------------------------
                    @echo off
                    COLOR 0A
                    CLS
                    if Not %2 == "" goto Argv1
                    Echo.
                    Echo.
                    Echo.
                    Echo.
                    Echo %1
                    Echo.
                    Goto Argv2

                    :Argv1

                    Echo.
                    Echo.
                    Echo.
                    Echo.
                    Echo %1
                    Echo.
                    Echo %2
                    Echo.

                    :Argv2
                    Echo ( Pour valider taper ENTER, puis F6, puis ENTER )

                    Copy con Input
                    for /F " tokens=1 delims=" %%i in (Input) do @set ResBox=%%i%

                    Del Input
                    Cls

                    -------------------------------------------------------------

                    Recup du path ou est lancé le script... Ca peut être utile si celui-ci est déplacé dans un sous répertoire ou sur un autre partage !

                    *************************************************

                    REM ------------------------------------------------
                    REM Récupération du Path ou est lancé le script
                    REM ------------------------------------------------
                    for /f %%i in ('cd') do @set Drive=%%i
                    cd ..
                    for /f %%i in ('cd') do @set Drive2=%%i

                    Renvoi C:\Script\Automatisation quand on tape Echo %Drive%
                    Renvoi C:\Script\ quand on tape Echo %Drive2%

                    ***************************************************
                    Tien... Un script qui peut intéresser du monde..

                    J'avais besoin dans mes automatisation de mettre la clé registre [HKEY_USERS\S-1-5-21-815036413-821321335-1845911597-4016\Software\Microsoft\Internet Explorer\Main] "Start Page" avec la valeur "about:blank".

                    Le problème c'est qu'en fonction de la session, le SID change !
                    ( S-1-5-21-xxxxxxxxx )

                    Alors je me suis fais ........ Pour trouver une solution... donc la voilà :

                    RecupSID.cmd

                    ------------------------------------------------------------------------
                    @echo off
                    REM ----------------------------------------------------------------------------------
                    REM Recupération du SID de HKEY_USERS Pour mettre about.blank en page de démarrage d'IE
                    REM ----------------------------------------------------------------------------------
                    for /f %%i in ('cd') do @set Drv=%%i
                    cd ..
                    for /f %%i in ('cd') do @set Hdd=%%i\
                    cd %Drv%

                    REM ----------------------------------------------------------------------------------
                    REM On prend toute la branche HKEY_USERS et on l'export vers Home.reg
                    REM ----------------------------------------------------------------------------------

                    REGEDIT /E/A Home.reg "HKEY_USERS"

                    REM ----------------------------------------------------------------------------------
                    REM On recherche le SID S- dans notre Home.reg et on le fou la ligne dans un autre fichier reg.txt
                    REM ----------------------------------------------------------------------------------
                    FINDSTR "S-" "Home.reg" > reg.txt

                    REM Ici j'ai un fichier avec que les lignes qui ont [HKEY_USERS\S-1-5-21-815036413-821321335-1845911597-4016

                    set Nbre=1
                    :Loop
                    REM Recupération de la ligne sans [HKEY_USERS

                    for /F " tokens=%Nbre% delims=\" %%i in (Reg.txt) do @set ResBox=%%i%
                    REM On enregistre la valeur de %i dans UID ( pas besoin de .txt)
                    Echo %ResBox% > UID

                    REM ok j'ai plus que S-xxxxxxxxxxxxxxx au deuxieme passage

                    If %Nbre%==2 goto suite
                    Set /a NewNbre=%Nbre%+1
                    Set Nbre=%NewNbre%

                    goto Loop

                    :Suite
                    REM Je supprime la fin ( S-xxxxx-xxxxx-xxxxx_classe.......)

                    for /F " tokens=1 delims=_" %%i in (UID) do @set SID=%%i%
                    REM Voila j'ai mon SID au format S-1-xxxxx-xxxxx-xxxxx

                    Del UID
                    DEL Reg.txt
                    Del Home.reg

                    REM %Hdd% c'est là où je veux que mon fichier soit

                    echo Windows Registry Editor Version 5.00 > %Hdd%About-Blank.reg
                    echo. >> %Hdd%About-Blank.reg
                    echo [HKEY_USERS\%SID%\Software\Microsoft\Internet Explorer\Main] >> %Hdd%About-Blank.reg
                    echo "Start Page"="about:blank" >> %Hdd%About-Blank.reg

                    -------------------------------------------------------------------------

                    Et voilà un SID tout beau tout neuf !

                    @+ Fred
                    1. Encors une petite chose :

                      Au cours de mes scripts, je me suis apperçue que les boucle FOR ne marche pas bien arrivée à 15 voir 18 pour le tokens.
                      J'ai eu le cas lors de tests sur des pages internet et sur des serveurs...

                      Du coups il faut ruser.... Cf en dessous

                      J'ai pas mis le début du scrip mais seulement la boucle :

                      *****************************************************

                      REM--------------------------------------------------------------------
                      REM Initialisation des variables
                      REM--------------------------------------------------------------------
                      Set Nbre=1
                      Set Command=C:\WINNT\System32\LogFiles\Test.cmd
                      Set FileTemp=LogComponents.txt

                      REM ------------------------------------------------------------------------------
                      REM Il y a trop de serveurs pour le For Cf deuxième StrInput dans la boucle
                      REM -----------------------------------------------------------------------------
                      Set StrInput=ntintfr00208-ntintfr00209-ntintfr00213-ntintfr00214-ntintfr00218-ntintfr00219-ntintfr00221-ntintfr00222-ntintfr00223-ntintfr00224-EndFile

                      REM -----------------------------------------
                      REM Debut de Boucle Pour les serveurs
                      REM -----------------------------------------

                      :MyLoop2
                      for /F " tokens=%Nbre% delims=- " %%i in ("%StrInput%") do @set Ci=%%i%

                      REM ------------------------------------------------------
                      REM Selon resultat du FOR Définition des variables
                      REM ------------------------------------------------------
                      If %Ci% == EndFile goto OutComp

                      echo Test %Ci%....
                      Echo.

                      REM ------------------------------------------------------------------
                      REM TempRapport.txt afin de mettre les erreurs en début de rapport
                      REM --------------------------------------------------------------------
                      Echo. >> TempRapport.txt
                      Echo Test Component sur le serveur %Ci%.... a %TIME:~0,-9%h%TIME:~3,-6% >> TempRapport.txt
                      Echo ------------------------------------------------------ >> TempRapport.txt
                      Echo. >> TempRapport.txt
                      Echo. >> TempRapport.txt
                      Echo. >> TempRapport.txt

                      REM -------------------------------------------------------------------
                      REM Execution du Script VBS via un fichier cmd sur le serveur distant car psexec ne prend pas en charcge le vbs directemnt
                      REM--------------------------------------------------------------------
                      psexec \\%Ci% -u %User% -p %Password% %Command% >> TempRapport.txt

                      Echo. >> TempRapport.txt
                      Echo. >> TempRapport.txt
                      Echo. >> TempRapport.txt

                      REM ------------------------------------------------------
                      REM Recuperation du fichier du Serveur distant
                      REM ------------------------------------------------------

                      Echo User %User% >> RecupFTP
                      Echo %Password% >> RecupFTP
                      Echo Get %FileTemp% >> RecupFTP
                      Echo Quit >> RecupFTP

                      REM --------------------------------------------------------------------
                      REM Recup du fichier créé par le Vbs sur le serveur
                      REM --------------------------------------------------------------------
                      ftp -n -s:RecupFTP %Ci%

                      Del RecupFTP

                      Echo. >> TempRapport.txt
                      Echo Fichier LogComponent %Ci% du %DATE:~5,-8%%DATE:~8,-5%%DATE:~11% a %TIME:~0,-9%h%TIME:~3,-6% >> TempRapport.txt
                      Echo ------------------------------------------------ >> TempRapport.txt
                      Echo. >> TempRapport.txt
                      Echo. >> TempRapport.txt
                      Echo. >> TempRapport.txt

                      REM ----------------------------------------------------------------
                      REM Recherche du Nom du serveur dans le fichier temporaire
                      REM ----------------------------------------------------------------
                      FINDSTR "%Ci%" "%FileTemp%" >> ErrorComponent.txt
                      Echo Erreur sur les Composents de %Ci% >> ErrorComponent.txt
                      Echo ---------------------------------------- >> ErrorComponent.txt
                      REM ----------------------------------------------------------------
                      REM Recherche d'erreur dans le fichier temporaire
                      REM ----------------------------------------------------------------
                      FINDSTR "failed" "%FileTemp%" >> ErrorComponent.txt
                      Echo. >> ErrorComponent.txt
                      Echo. >> ErrorComponent.txt
                      Echo. >> ErrorComponent.txt
                      Echo. >> ErrorComponent.txt

                      Type %FileTemp% >> TempRapport.txt

                      REM -----------------------------
                      REM Suppression du Fichier
                      REM -----------------------------
                      Del %FileTemp%

                      REM -------------------------------------------------------------------
                      REM Deuxième partie de StrInput car trop de seuveurs pour le FOR
                      REM -------------------------------------------------------------------
                      If %Nbre% == 10 goto SFor
                      goto NSFor

                      :SFor
                      Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
                      Set Nbre=1

                      :NSFor


                      REM -----------------------------------
                      REM Incrementation de la boucle
                      REM -----------------------------------
                      Set /a NewNbre=%Nbre%+1
                      Set Nbre=%NewNbre%

                      REM --------------------------------------------------------------
                      REM Suppression de la connexion créée par psexec avec le serveur
                      REM --------------------------------------------------------------

                      Net Use /Delete \\%Ci%

                      goto MyLoop2

                      *****************************************************

                      Pour ceux qui veulent le script en entier :
                      frlenti(at)free(point)fr

                      @+ Fred
                      1. :SFor
                        Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
                        Set Nbre=1
                        1. Oups !!!

                          Merci le forum..je viens de m'appercevoir que l'un de mes serveur passait au travers...
                          Nbre = 0 et non 1 puisque j'increment derière...

                          :SFor
                          Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
                          Set Nbre=0 et non 1
                          1. Oups !!!

                            Merci le forum..je viens de m'appercevoir que l'un de mes serveur passait au travers...
                            Nbre = 0 et non 1 puisque j'increment derière...

                            :SFor
                            Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
                            Set Nbre=0 et non 1
                            1. Contributeur
                              Bon puisque tu fais les questions/réponses on te laisse :)

                              A quand la dicerte ? ;)

                              ~°sidarus°~
                              1. Oups ! je te sens pas là Mister Sidarius !

                                Je ne fais que partager ce que je fais afin de donner des exemples... c'est tellement difficile de les trouver parfois !

                                pour la date - 1 je finirais bien par trouver ... et pour reprendre Blux :
                                "Les cons, ça ose tout.
                                C'est même à ça qu'on les reconnait"

                                @+ et sois pas fâcher Sidarius, je suis sur que tu connais plien de bonnes choses toi aussi ;-)
                                1. salut Fred_L,
                                  Sans valoir (trop) m'immiscer, il peut sembler que Sidarus n'a pas tort...dans sa remarque..
                                  TU as dû aligner 6-7 messages à se suivre.. mais c'est ça, sans doute, aussi, la passion de la recherche et de la découverte...

                                  Cordialement  et @+ 
                                  Chi cerca, trova.
                                2. Contributeur
                                  Disons que j'ai beau relire mais là j'avoue m'y perdre. T'as noyé le poisson :P Pourrais tu refaire un poste récapitulif avec :

                                  - objetif(s)
                                  - méthode/marche a suivre retenue
                                  - script commenté (REM)
                                  - mise en page/présentation (<tag>)

                                  PS: tu remarquera que cette discipline je me l'applique a moi meme dans le simple but de "faire passer" le message et ce quel que soit le niveau du lecteur. C'est, disons-le, déontologiquement professionel et hétiquement respectueux envers ceux dont l'attention est sucitée.

                                  Cordialement

                                  ~°sidarus°~
                              2. bonjour ,
                                pour mon boulot j'ai fait un ptit programme qui chaque jour creer un dossier avec la date et creer un backup des db
                                dans l'interface la fréquence de sauvegarde , les données a sauver et la destination sont parametrable si ca t'interesse et si ca peut t'aider

                                --> shortcut.be@gmail.com

                                j'ai fait ca vite fait en delphi

                                ------------------------------
                                Gwen
                                1. bonjour,je voudrais appprendre à ecrire un batch pour sauvegarder chaque jour et à une heure precise mes donnees.merci et a bientot.
                              3. Je suis tombe sur ce Forum pile poil quand il fallait apparamment...

                                Moi j'ai essaye toutes les solutions que vous avez proposé ci-dessus et y'en a qu'une qui marche si je la modifie :

                                FOR /F "tokens=1-4 delims=/: " %a IN ('DATE/T') DO SET date=%a%b-%c-%d
                                FOR /F "tokens=1-2 delims=:" %a IN ('TIME/T') DO SET time=%ah%b
                                mkdir C:\Sauvegardes\%date% %time%

                                Mais mon probleme -sinon j'aurais pas dérangé des gens avec un si haut niveau (je me suis pissé dessus en voyant les post du forum)- c'est que ca marche seulement si je les entre en commandes, mais pas si elles sont executees depuis un fichier.bat. Je deprime...
                                En plus je suis sous windows XP pro ca devrait pas poser de pb.

                                Mystère ...

                                Par contre ShortCut ton prog en Delphi m'interresse comme la confiture interresse les cochons. Si tu pouvais gaspiller 5 minutes de ton temps et me l'envoyer a nuke4all@wanadoo.fr, j'en serais tres honoré et soulagé d'un grand poids ...
                                1. Contributeur
                                  Et vi le pb c'est que tu as modifié (cf post <28>) et sans faire exprès tu y a introduits qq erreurs ;)

                                  Non pas

                                  FOR /F "tokens=1-4 delims=/: " %a IN ('DATE/T') DO SET date=%a%b-%c-%d
                                  FOR /F "tokens=1-2 delims=:" %a IN ('TIME/T') DO SET time=%ah%b
                                  mkdir C:\Sauvegardes\%date% %time%
                                  


                                  Mais

                                  FOR /F "tokens=1-3 delims=/." %%a IN ('DATE/T') DO SET date=%%a-%%b-%%c
                                  FOR /F "tokens=1-2 delims=:" %%a IN ('TIME/T') DO SET time=%%a'%%b
                                  md "C:\Sauvegardes\%date% %time%"


                                  Et oui les langages formels ça pardonne pas.
                                  Y a 2 types d'erreur : syntaxique / sémantique
                                  - syntaxique = bug
                                  - sémantique = pas de bug mais le résultat n'est pas logique (sémantique)

                                  1/ DATE = jj/mm/aa (3 valeurs) => "tokens=1-3" (et non 1-4)
                                  2/ si %date% = jj/mm/aa OR jj.mm.aa => "delims=/. " (et non /:)
                                  3/ %%var (et non %var)
                                  4/ puisqu'il y a 1 "espace" entre %date% et %time% tu dois encadrer le tout par des "".

                                  ~°sidarus°~
                                2. Contributeur
                                                tokens----+ 
                                                  |       |
                                              +---+---+   |
                                              |   |   |   |
                                    DATE/T-->JJJ.MMM.AAA--+-->%%a %%b %%c
                                                |   |
                                                +-+-+
                                                  |
                                                delims


                                  ~°sidarus°~
                              4. oui je te filerai ca , je doit le recup sur le server , j'ai pas garder ca dans mes truc perso ...

                                sinon tu peut choisir le repertoir source , celui de destination
                                dans celui de destination il creer auto un rep "backup_date"

                                tu peut spécifier comme frequence : 1/2 journée , chaque jour , chaque semaine .

                                suivant ce que tu choisit tu peut spécifier l'heure ou le jour de la sauvegarde

                                et alors ca t'affiche des stats ..... derniere sauvegarder , prochaine , nombre total de sauvegarder etc .
                                si une sauvegarde existe deja il creer un dossier

                                copie (1) de backup_02092004

                                comme j'ai utiliser l'API windows de la fonction copier y'a aucun probleme , je t'envoie ca demain .

                                envoie un mail sur shortcut.be@gmail.com , histoire que j'oublie pas
                                ------------------------------
                                Gwen
                                • 1
                                • 2
                                • 3