IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

recuperer date dans un batch et la placer en variable


Sujet :

Windows

  1. #1
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut recuperer date dans un batch et la placer en variable
    Est ce que quelqun peu m'expliquer ce code ? A priori c'est pour recuperer la date du jour et la placer en variable. Est ce que si je met le code tel quel ca va fonctionner ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    * setdate.bat:   
    command /e:2000 /c for %%i in (1 2) do prompt set _d=$d$_ | find "$" /v >{t}.bat  
    for %%c in (call del) do %%c {t}.bat
    merci

  2. #2
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut
    Bon c'est bon ca fonctionne, mais j'ai une autre question.
    Comment je peu faire pour utiliser cette variable date pour renommer un fichier excel avec son contenu !?

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    si ta variable se nomme Date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Ren Old.Xls  New%Date%.xls
    rem ou
    Ren Old.Xls  %Date%.xls

  4. #4
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut
    j'ai fai ce que tu ma di mais voila ce qu'il me met :

    la synatxe de la commande est incorrecte
    voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    @ echo off
    
    @ echo CHARGEMENT
    
    PATH=%PATH%;C:\Program Files\Microsoft Office\Office10
    
    set FichierOrigine=MAI2004.xls 
    set FichierExcel=XXX.xls 
    set FichierExcelOK=XXXOK.xls
    set date=command /e:2000 /c for %%i in (1 2) do prompt set _d=$d$_ | find "$" /v >{t}.bat  
    for %%c in (call del) do %%c {t}.bat
    
    @ echo DATE
       
    echo %date%
    
    @ echo RENOMMAGE FICHIER D'ORIGINE A MODIFIE
    
    ren %FichierOrigine% %FichierExcel%
    
    @ echo OUVERTURE EXCEL
    
    start Excel.exe
    
    :START
    
    if EXIST K:\cs\artech\XXXOK.xls GOTO RENAME
    
    goto START
    
    :RENAME
    
    @ echo RENOMMAGE FICHIER D'ORIGINE MODIFIE
    
    ren XXXOK.xls %Date%.xls
    
    @ echo SUPPRESSION FICHIER TEMPORAIRE
    
    del K:\cs\artech\XXX.xls 
    
    PAUSE
    La je vois pas du tout ou est le bug !?

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Phenomenium
    j'ai fai ce que tu ma di
    A peu prés
    Citation Envoyé par Phenomenium
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set date=command /e:2000 /c for %%i in (1 2) do prompt set _d=$d$_ | find "$" /v >{t}.bat  
    for %%c in (call del) do %%c {t}.bat
    La syntaxe de base est :
    Set variable= chaîne de caractére
    Dans ton cas la syntaxe est erronée car la chaîne de caractére contient le pipe, enfin je le suppose. Avec cette syntaxe il n'y a aucune exécution du programme command, au mieux la variable %Date% contiendra "command /e:2000 /c for %%i in (1 2) do prompt set ...." et pas le résultat du programme que tu souhaites éxécuter.
    On utilise les commandes du batch, pas celles d'un L4G.

    Pour récupérer le résultat d'une commande et renseigner une variable d'environnement sous NT et > :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     rem recupére la date. Le paramètre /T renvoie une ligne contenant 2 "mot"
     rem  le premier = le nom du jour 
     rem le deuxiéme = la date 
     rem on place donc le 2 ieme dans la variable
    for  /f "tokens=1-2 " %%A in ('Date /T') do set Date=%%B
    Pour W98, c'est un plus délicat...

    Citation Envoyé par Phenomenium
    La je vois pas du tout ou est le bug !?
    @echo on et pause peuvent être utile pour débugger

  6. #6
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut
    C'est bon j'ai reussi merci !
    Je vous met la totalité de mon code pour montrer le travail finit, merci !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    @ echo off
    
    @ echo CHARGEMENT
    
    REM Procédure de modification du PATH pour l'execution d'excel.
    PATH=%PATH%;C:\Program Files\Microsoft Office\Office10 
    
    
    REM Procédure de démarrage d'Excel.
    @ echo OUVERTURE EXCEL
    
    start Excel.exe
    
    
    
    
    @ echo ATTENTE DEMARRAGE MACRO EXCEL
    
    REM Procédure d'attente de la création du fichier YVSHIE00 corrigé après modification dans excel.
    :START
    
    if EXIST K:\cs\artech\STAT.xls GOTO RENAME
    
    goto START
    
    
    
    
    REM Procédure de renommage du fichier d'origine "YVSHIE00" avec incorporation de la date.
    :RENAME
    
    ren YVSHIE00.xls YVSHIE00_%Date:~-10,-8%-%Date:~-7,-5%-%Date:~-4%.xls
    
    @ echo RENOMMAGE FICHIER YVSHIE00 EFFECTUE

  7. #7
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    je te propose l'ajout de qq lignes
    Le Wait évite la boucle d'attente et le batch continue une fois l'exécution d'Excel terminé.
    Et le test de fin permet d'être averti en cas de PB, ceinture et bretelle !
    Citation Envoyé par Phenomenium
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    @ echo off
    
    @ echo CHARGEMENT
    
    REM Procédure de modification du PATH pour l'execution d'excel.
    PATH=%PATH%;C:\Program Files\Microsoft Office\Office10 
    
    
    REM Procédure de démarrage d'Excel.
    @ echo OUVERTURE EXCEL
    
     rem WAIT        Démarre l'application et attend qu'elle se termine
    Start /WAIT Excel.exe
    
    
    
    @ echo ATTENTE DEMARRAGE MACRO EXCEL
    
    REM Procédure d'attente de la création du fichier YVSHIE00 corrigé après modification dans excel.
    if EXIST K:\cs\artech\STAT.xls GOTO RENAME
    Goto Erreur
    
    
    REM Procédure de renommage du fichier d'origine "YVSHIE00" avec incorporation de la date.
    :RENAME
    
    ren YVSHIE00.xls YVSHIE00_%Date:~-10,-8%-%Date:~-7,-5%-%Date:~-4%.xls
    
    @ echo RENOMMAGE FICHIER YVSHIE00 EFFECTUE
    goto end
    
    :Erreur
     rem peu probable mais possible
    Echo le fichier n'existe pas ???
    Pause
    
    :End

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération de la date dans un batch
    Par seb591 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 07/06/2007, 13h09
  2. recuperer une date dans calendrier?
    Par gatous dans le forum ASP.NET
    Réponses: 3
    Dernier message: 30/05/2007, 20h02
  3. format de %DATE% dans un batch
    Par goodboy dans le forum Windows
    Réponses: 1
    Dernier message: 20/03/2007, 18h09
  4. Recuperation adresse IP dans un batch
    Par Breizh.Bezzi dans le forum Windows
    Réponses: 5
    Dernier message: 13/02/2007, 15h35
  5. placer des dates dans des feuilles en fonction du mois
    Par Jerez62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2006, 10h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo