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

Scripts/Batch Discussion :

[BATCH]:Récupération du Jour en chaine de caractere


Sujet :

Scripts/Batch

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Points : 312
    Points
    312
    Par défaut
    Bonjour,

    comment puis-je récupérer Le jour en chaine de caractère d'une Date.

    Par exemple : Lundi
    Car je ne récupère que sous la forme du numéro du jour. (ex:11/02/2008)

    En faite voici mon problème :

    Je dois faire une copy de toutes les données sauvegarder sur le server dans un fichier.

    A l'aide d'une tâche planifié, j'aimerais enregistrer durant chaque jour de la semaine les données dans un fichier nommé respectivement par rapport au jour de la date en lettre.

    Exemple :

    Si nous sommes Mardi, alors on fera une copy des données du server dans le fichier :
    c:\dataSave\Mardi

    Si nous sommes Mercredi, alors on fera une copy des données dans le fichier :
    c:\dataSave\Mercredi


    Moi ce que je n'arrive pas à faire c'est récupérer les jours de la semaine en format lettre.

    Merci.

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 109
    Points : 168
    Points
    168
    Par défaut
    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
    @echo off
    
    set /a J=1%DATE:~0,2% - 100
    set /a M=1%DATE:~3,2% - 100
    set /a A=%DATE:~6,4%
    set /a N=((1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075) %% 7
    
    if %N%==0 set JOUR=Lundi
    if %N%==1 set JOUR=Mardi
    if %N%==2 set JOUR=Mercredi
    if %N%==3 set JOUR=Jeudi
    if %N%==4 set JOUR=Vendredi
    if %N%==5 set JOUR=Samedi
    if %N%==6 set JOUR=Dimanche
    
    echo. & echo Nous sommes %JOUR% ... & echo.
    pause

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 497
    Points : 312
    Points
    312
    Par défaut
    sympa.

    je te demande même pas d'ou cela sort :

    set /a N=((1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075) %% 7
    Mais ça fonctionne.

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Chapeau bas !
    super cool ! pas de souci, cela marche très bien , encore merci

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 8
    Points
    8
    Par défaut petit souci !
    Bonjour,

    j'ai été trop vite , le script me renvoie toujours la meme valeur 'vendredi' ???
    quand je l'ai testé , cela tombait bien on était justement vendredi

    ou est le hic ???, avez vous une idée ?

    pour info
    suis en windows server 2003 standard edition SP1

    en XP 2002 sp3, cela fonctionne ...
    Merci

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Bluffant ce code mais ça marche !!
    Citation Envoyé par magma² Voir le message
    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
    @echo off
    
    set /a J=1%DATE:~0,2% - 100
    set /a M=1%DATE:~3,2% - 100
    set /a A=%DATE:~6,4%
    set /a N=((1461 * (%A% + 4800 + (%M% - 14) / 12)) / 4 + (367 * (%M% - 2 - 12 * ((%M% - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (%M% - 14) / 12) / 100)) / 4 + %J% - 32075) %% 7
    
    if %N%==0 set JOUR=Lundi
    if %N%==1 set JOUR=Mardi
    if %N%==2 set JOUR=Mercredi
    if %N%==3 set JOUR=Jeudi
    if %N%==4 set JOUR=Vendredi
    if %N%==5 set JOUR=Samedi
    if %N%==6 set JOUR=Dimanche
    
    echo. & echo Nous sommes %JOUR% ... & echo.
    pause

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Concernant les dates le batch est nul (et aussi en règle général ).

    Voici en Powershell
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # Nom du jour en français
    (Get-Date).ToString('dddd', [CultureInfo]::CreateSpecificCulture('fr-FR'))
     
    # Nom du jour en français, avec première lettre en majuscule
    (Get-Culture).TextInfo.ToTitleCase((Get-Date).ToString('dddd', [CultureInfo]::CreateSpecificCulture('fr-FR')))


    Appel dans un batch
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    cls
    @echo off
     
    for /f "usebackq delims=" %%a in (`Powershell -Command "(Get-Culture).TextInfo.ToTitleCase((Get-Date).ToString('dddd', [CultureInfo]::CreateSpecificCulture('fr-FR')))"`) do set "current_day_name=%%~a"
    echo %current_day_name%
     
    pause

    Bien sur faire uniquement du PowerShell est infiniment mieux

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Concernant les dates le batch est nul (et aussi en règle général ).

    Voici en Powershell
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # Nom du jour en français
    (Get-Date).ToString('dddd', [CultureInfo]::CreateSpecificCulture('fr-FR'))
     
    # Nom du jour en français, avec première lettre en majuscule
    (Get-Culture).TextInfo.ToTitleCase((Get-Date).ToString('dddd', [CultureInfo]::CreateSpecificCulture('fr-FR')))


    Appel dans un batch
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    cls
    @echo off
     
    for /f "usebackq delims=" %%a in (`Powershell -Command "(Get-Culture).TextInfo.ToTitleCase((Get-Date).ToString('dddd', [CultureInfo]::CreateSpecificCulture('fr-FR')))"`) do set "current_day_name=%%~a"
    echo %current_day_name%
     
    pause

    Bien sur faire uniquement du PowerShell est infiniment mieux
    Désolé je suis 'old school' (retraite dans 5 mois) donc place aux jeun's et au powershell ...

  9. #9
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Je comprends que si tu stop tout dans 5 mois tu ne va pas te lancer dans un nouveau langage 😋
    Cela pourra tout de même te servir ou a toute autre personne curieuse

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  2. Réponses: 13
    Dernier message: 13/06/2003, 14h13
  3. Pb Update avec chaine de caractere
    Par JuJu° dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/05/2003, 15h58
  4. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 22h41
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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