Explication sur une ligne de ce script .bat SVP

Résolu
Bonjour,

Voici un script que j'ai récupéré sur le net puis que j'ai modifié pour avoir ce qu'il me fallais mais il y à une ligne que je ne comprend pas. hors je dois l'expliquer à mon chef...

------------------LE SCRIPT---------------------------
SET J=%date:~-10,2%
SET A=%date:~-4%
SET M=%date:~-7,2%
SET H=%time:~0,2%
SET MN=%time:~3,2%
SET S=%time:~-5,2%

IF "%time:~0,1%"==" " SET H=0%HEURE:~1,1%

SET REPERTOIRE=H:\SAVE_BDD\

SET FICHIER=%REPERTOIRE%\sauvegarde_%J%_%M%_%A%_A_%H%_%MN%_%S%.bak

IF NOT exist "%REPERTOIRE%" md "%REPERTOIRE%"

cd C:\Program files\Microsoft SQL Server\100\Tools\Binn

sqlcmd.exe -S localhost\BDD_NAME -Q "BACKUP DATABASE [BDD_NAME] TO DISK = N'%FICHIER%' WITH NOINIT, NAME = N'Sauvegarde automatique de la base de données', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
----------------------------------------------------------------------

Il s'agit de la ligne en gras.

si quelqu'un pouvait m'expliquer ? SVP

--
Avec le temps tout s'arrange ...
---> ICENDI <---

2 réponses

  1. Bonjour icendi,

    IF "%time:~0,1%"==" " SET H=0%HEURE:~1,1%
    SI la première position de l'heure="" (rien du tout)
    ALORS met dans H=le zéro

    Tout cela pour obtenir "03" SI l'heure = 3, ou
    Tout cela pour obtenir "08" SI l'heure = 8, ou
    Tout cela pour obtenir "10" SI l'heure = 10, ou
    Tout cela pour obtenir "12" SI l'heure = 12

    A vérifier tout de même!
    1. Merci pour l'explication
  2. Bonjour,
    Permet d'ecrire la variable H en heure (heure system) sur 2 caracteres dont le 0 pour les heures de 0 a 9, par contre si heure system de 10 a 23: H ne sera pas affectee.

    le fichier ci-dessous est un exemple .bat recuperez le et double click vous verrez.

    https://www.cjoint.com/?BKfmmWvp8mz
    1. La même chose dit différemment.
      Merci f894009 pour ces précisions {*_/*}
    2. Bonjour Heliotte,
    3. Merci pour l'explication et le fichier d'exemple.