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 :

Ajouter 30 à une variable en BAT


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Ajouter 30 à une variable en BAT
    Bonjour,

    Alors voilà je cherche a ajouter 30 minutes a une variable mais je ne sais pas comment le faire..

    Je précise un peut tous ça ^^
    Pour le moment j'en suis rendu a ça :

    set heure=%temp%

    c'est maintenant que je veux ajouter 30 minutes a ma variable heure, comment je peut faire ça ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    C'est quoi exactement la finalité de ton script ?
    Tu peux aussi partager ton script et nous dire dans quel endroit ou ça coince ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Alors le but c'est de supprimer une vidéo stocké dans un clés USB 30 minutes après avoir brancher la clé.

    J'ai trouver comment faire en sorte que le script ce lance au branchement de la clé mais c'est le script en lui même qui me pose problème.

    Comme dit au début je sais comment faire en sorte qu'une variable contienne l'heure actuel mais faire en sorte qu'une variable contienne l'heure actuel + 30 ça je ne sais pas.. je sais même pas si c'est possible de faire ça en BAT, c'est pour cela que je viens ici ^^


    Pour le moment je n'est que ça ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set heure=%temp%
    .......
    at %heure% del nomdelavideo.avi
    Voilà mais pour dire vrai je ne sais même pas si c'est ça marchera, théoriquement ça semble possible mais en pratique ...

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Essaies d'intégrer ce batch dans ton script
    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
    @echo off 
    set Heure=%TIME:~0,2%
    set Minute=%TIME:~3,2%
    :: Obtenir un décalage de 30 minutes
    set /a AjoutMin=%TIME:~3,2%+30
    :: Vérifier les minutes; si supérieure à 60 alors ajouter AjoutMin/60 à l'heure
    set HeureModif=%TIME:~0,2%
    if %AjoutMin% geq 60 set /a HeureModif=HeureModif+AjoutMin/60 && set /a AjoutMin=AjoutMin%%60
    if %HeureModif% geq 24 set /a h=0
    :: Ajouter des zéros si nécessaire
    if %AjoutMin% leq 9 set AjoutMin=0%AjoutMin%
    if %HeureModif% leq 9 set HeureModif=0%HeureModif%
    echo l^'heure actuelle est : %Heure%:%Minute%
    echo.
    echo l^'heure apres 30 minutes est : %HeureModif%:%AjoutMin%
    echo.
    pause

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Woah j'avais même pas pensé a créer une boucle pour quand les minutes dépasse 60 .. Merci

    Je vient de rajouter :
    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
    @echo off 
    set Heure=%TIME:~0,2%
    set Minute=%TIME:~3,2%
    :: Obtenir un décalage de 30 minutes
    set /a AjoutMin=%TIME:~3,2%+30
    :: Vérifier les minutes; si supérieure à 60 alors ajouter AjoutMin/60 à l'heure
    set HeureModif=%TIME:~0,2%
    if %AjoutMin% geq 60 set /a HeureModif=HeureModif+AjoutMin/60 && set /a AjoutMin=AjoutMin%%60
    if %HeureModif% geq 24 set /a h=0
    :: Ajouter des zéros si nécessaire
    if %AjoutMin% leq 9 set AjoutMin=0%AjoutMin%
    if %HeureModif% leq 9 set HeureModif=0%HeureModif%
    echo l^'heure actuelle est : %Heure%:%Minute%
    echo.
    echo l^'heure apres 30 minutes est : %HeureModif%:%AjoutMin%
    echo.
    set test=%HeureModif%:%AjoutMin%
    echo %test%
    pause
    Il me reste juste une intérogation,
    es ce que je peut utilisé ma variable test avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    at %test% del nomdelavideo.avi
    ? Ou vue que c'est une concaténation de deux chaine de caractères ça ne va pas marché ?

  6. #6
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Testez ce
    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
    @echo off 
    Title Effacement automatique de la Video apres 30 minutes by Hackoo
    Mode con cols=80 lines=10 & Color 9B
    set Heure=%TIME:~0,2%
    set Minute=%TIME:~3,2%
    :: Obtenir un décalage de 30 minutes
    set /a AjoutMin=%TIME:~3,2%+30
    :: Vérifier les minutes; si supérieure à 60 alors ajouter AjoutMin/60 à l'heure
    set HeureModif=%TIME:~0,2%
    if %AjoutMin% geq 60 set /a HeureModif=HeureModif+AjoutMin/60 && set /a AjoutMin=AjoutMin%%60
    if %HeureModif% geq 24 set /a h=0
    :: Ajouter des zéros si nécessaire
    if %AjoutMin% leq 9 set AjoutMin=0%AjoutMin%
    if %HeureModif% leq 9 set HeureModif=0%HeureModif%
    echo l^'heure actuelle lors de l'^execution de ce Script Batch : %Heure%:%Minute%
    echo.
    echo l^'heure prevue apres 30 minutes pour effacer la video : %HeureModif%:%AjoutMin%
    echo.
    
    :Boucle
    set Minute=%TIME:~3,2%
    If %Minute% EQU %AjoutMin% Goto :Action
    Timeout /T 1 /NOBREAK >Nul
    GoTo Boucle
    
    :Action
    echo Effacement de la video
    Del nomdelavideo.avi
    pause

  7. #7
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par leverrid Voir le message
    J'ai trouvé comment faire en sorte que le script se lance au branchement de la clé.
    Si tu peux nous partager cette partie du code !

  8. #8
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Pour créer une tâche planifié, je vous suggère d'utiliser la commande SCHTASKS au lieu de AT
    et voici grosso modo le script qui se ressemble à ceci :
    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
    @echo off 
    Title Effacement automatique de la Video apres 30 minutes by Hackoo
    Mode con cols=80 lines=15 & Color 9B
    set /a Heure=%TIME:~0,2%
    set Minute=%TIME:~3,2%
    set secs=%TIME:~6,2%
    :: Obtenir un décalage de 30 minutes
    set /a AjoutMin=%TIME:~3,2%+30
    set /a HeureModif=%TIME:~0,2%
    if "%HeureModif:~0,1%" == " " set HeureModif=0%HeureModif:~1,1%
    echo Heure=%HeureModif%
    if "%AjoutMin:~0,1%" == " "  set AjoutMin=0%AjoutMin:~1,1%
    echo Minute=%Minute%
    if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
    echo secs=%secs%
    if %AjoutMin% geq 60 set /a HeureModif=HeureModif+AjoutMin/60 && set /a AjoutMin=AjoutMin%%60
    if %HeureModif% leq 9 set HeureModif=0%HeureModif%
    if %AjoutMin% leq 9 set AjoutMin=0%AjoutMin%
    Set MaDate=%Date:~0,10%
    echo La Date d^'aujourd^'hui = %Madate%
    echo l^'heure actuelle lors de l'^execution de ce Script Batch : %Heure%:%Minute%
    echo.
    echo l^'heure prevue apres 30 Minutes pour effacer la video : %HeureModif%:%AjoutMin%
    echo.
    echo Del CheminAbsolu\nomdelavideo.avi > %Tmp%\Supprim.bat
    Set Macommande=%Tmp%\Supprim.bat
    Set NomTache=Effacement Automatique de la video
    ::Création d'une tâche planifié qui s'exécute une seule fois après 30 minutes de l'exécution de ce batch
    SCHTASKS /create /tn "%NomTache%" /tr "%Macommande%" /sc ONCE /sd %MaDate% /st %HeureModif%:%AjoutMin%
    pause

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Pour faire en sorte que le script ce lance au démarage de la clé je vais utilisé le fichier autorun.inf

    son code sera comme celui la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [autorun]
    open nomduscript.bat
    Je testerai le code ce soir je vais au taff ^^ merci en tous cas

  10. #10
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par leverrid Voir le message
    Pour faire en sorte que le script ce lance au démarage de la clé je vais utilisé le fichier autorun.inf
    son code sera comme celui la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [autorun]
    open nomduscript.bat
    Je testerai le code ce soir je vais au taff ^^ merci en tous cas
    En faite c'est quoi ton système d'exploitation ?

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Windows 7

  12. #12
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par leverrid Voir le message
    Windows 7
    Dans ce cas tu ne peux pas faire de l'autorun car dans le windows 7 est désactivé par défaut ce n'est pas comme windows XP

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Aie je vais devoir trouver autre chose alors ... Merci de l'info

    Et puis je risque d'avoir un problème, comme je vais faire pour savoir quel lettre est attribuer au lecteur pour avoir le chemin absolu de la vidéo.. Es ce que y a une commande qui permet de savoir cela, avec l'outil diskpart je sais le faire mais la c'est pas les même commande ^^

  14. #14
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par leverrid Voir le message
    Aie je vais devoir trouver autre chose alors ... Merci de l'info
    Et puis je risque d'avoir un problème, comme je vais faire pour savoir quel lettre est attribuer au lecteur pour avoir le chemin absolu de la vidéo.. Es ce que y a une commande qui permet de savoir cela, avec l'outil diskpart je sais le faire mais la c'est pas les même commande ^^

    Tu peux utiliser ce batch pour déterminer la lettre du lecteur amovible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    Set LetterUSB=%tmp%\LetterUSB.vbs
    (
    echo Set objWMIService = GetObject^("winmgmts:" ^& "{impersonationLevel=impersonate}!\\" ^& "." ^& "\root\cimv2"^)
    echo For Each objDisk in objWMIService.ExecQuery^("Select * from Win32_LogicalDisk"^)
    echo    If objDisk.DriveType = "2"  Then 
    echo    Wscript.echo "La Lettre de votre cle USB est : "^& objDisk.DeviceID
    echo End If
    echo Next
    ) > %LetterUSB%
    cscript //nologo %LetterUSB%
    Del %LetterUSB%
    pause

  15. #15
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Voici la modification du script avec l'intégration du vbscript pour trouver la lettre de votre disque amovible
    Remarque Importante : J'attends mes +1 pour l'encouragement, sinon j'arrête de coder
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    @echo off 
    Title Effacement automatique de la Video apres 30 minutes by Hackoo
    Mode con cols=80 lines=15 & Color 9B
    set /a Heure=%TIME:~0,2%
    set Minute=%TIME:~3,2%
    set secs=%TIME:~6,2%
    :: Obtenir un décalage de 30 minutes
    set /a AjoutMin=%TIME:~3,2%+30
    set /a HeureModif=%TIME:~0,2%
    if "%HeureModif:~0,1%" == " " set HeureModif=0%HeureModif:~1,1%
    echo Heure=%HeureModif%
    if "%AjoutMin:~0,1%" == " "  set AjoutMin=0%AjoutMin:~1,1%
    echo Minute=%Minute%
    if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
    echo secs=%secs%
    if %AjoutMin% geq 60 set /a HeureModif=HeureModif+AjoutMin/60 && set /a AjoutMin=AjoutMin%%60
    if %HeureModif% leq 9 set HeureModif=0%HeureModif%
    if %AjoutMin% leq 9 set AjoutMin=0%AjoutMin%
    Set MaDate=%Date:~0,10%
    echo La Date d^'aujourd^'hui = %Madate%
    echo l^'heure actuelle lors de l'^execution de ce Script Batch : %Heure%:%Minute%:%secs%
    echo.
    Set LetterUSB=%tmp%\LetterUSB.vbs
    (
    echo Function MyDriveletter
    echo Set objWMIService = GetObject^("winmgmts:" ^& "{impersonationLevel=impersonate}!\\" ^& "." ^& "\root\cimv2"^)
    echo For Each objDisk in objWMIService.ExecQuery^("Select * from Win32_LogicalDisk"^)
    echo   	If objDisk.DriveType = "2"  Then 
    echo	MyDriveletter = objDisk.DeviceID
    echo 	End If
    echo Next
    echo	set fs=CreateObject^("Scripting.FileSystemObject"^)
    echo    strFile=fs.GetAbsolutePathName^(fs.BuildPath^(fs.GetSpecialFolder^(2^),"USB.txt"^)^)
    echo	set ts=fs.OpenTextFile^(strFile,2,True^)
    echo	ts.WriteLine MyDriveletter
    echo	ts.Close
    echo End Function
    echo MyDriveletter
    ) > %LetterUSB%
    cscript //nologo %LetterUSB%
    Del %LetterUSB% 
    for /f %%i in (%Tmp%\USB.txt) do set "MyUSBDrive=%%i"
    echo La Lettre de votre cle USB est %MyUSBDrive%
    Del %Tmp%\USB.txt
    echo l^'heure prevue apres 30 Minutes pour effacer la video %MyUSBDrive%\After.Doomsday.2014.FRENCH.DVDRIP.XVID-PREM.zone-telechargement.com.avi : %HeureModif%:%AjoutMin%:00
    echo.
    echo Del %MyUSBDrive%\After.Doomsday.2014.FRENCH.DVDRIP.XVID-PREM.zone-telechargement.com.avi > %Tmp%\Supprim.bat
    Set Macommande=%Tmp%\Supprim.bat
    Set NomTache=Effacement Automatique de la video
    ::Création d'une tâche planifié qui s'exécute une seule fois après 30 minutes de l'exécution de ce batch
    SCHTASKS /create /tn "%NomTache%" /tr "%Macommande%" /sc ONCE /sd %MaDate% /st %HeureModif%:%AjoutMin%:00
    pause

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2014
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    T'es un chef un grand Merci a toi je test tous ça et je te dit si cela fonctionne

Discussions similaires

  1. Ajout d'une variable dynamique de type pointeur
    Par mmooaa dans le forum Langage
    Réponses: 3
    Dernier message: 02/01/2007, 23h04
  2. Plusieurs ajout dans une variable
    Par yugimega dans le forum C++
    Réponses: 12
    Dernier message: 26/11/2006, 22h54
  3. Ajout d'une variable dans une class fait planter
    Par Geoff-sk8 dans le forum C++
    Réponses: 4
    Dernier message: 11/10/2006, 14h27
  4. [ANT] Ajout d'une variable d'environement au PATH
    Par Feustine dans le forum ANT
    Réponses: 1
    Dernier message: 25/08/2005, 18h16
  5. Ajouter a une variable de type string, un entier
    Par Little-Freud dans le forum SL & STL
    Réponses: 12
    Dernier message: 05/03/2005, 19h33

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