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 :

Script Prêt materiel informatique


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2016
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Script Prêt materiel informatique
    Bonjour à tous!

    Dans le cadre de mon stage de fin de formation ( pas en dev ) , mais dans le réseau , je passe les moments d'inactivité à faire un petit prog script en batch .

    En gros je veux permettre aux employés de répertorier les entrées sorties de matériel.

    Ma question est : Comment est ce possible de créer une "base de donnée" pour les indications rentrées dans le script ?
    J'aimerai que les utilisateurs choisissent et que tout soit sauvegarder , qu'ils puissent avoir la liste des entrées sorties ect en visu dans le script .
    Je n'ai strictement aucune idée de si c'est possible ou quoi .

    Voici 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    @ECHO OFF
    color 2
    CLS
    mode con cols=55
    mode con lines=25
    
    :MENU
    CLS
    
    ECHO ============= Service Informatique Menu ============
    ECHO -------------------------------------
    ECHO 1.  Emprunt Materiel
    ECHO 2.  Retour Materiel
    ECHO 3.  Liste Materiel emprunté
    ECHO 4.  ect4
    ECHO 5.  ect5
    ECHO 6.  ect6
    ECHO 7.  ect7
    ECHO -------------------------------------
    ECHO 8.  ect8
    ECHO -------------------------------------
    ECHO 9.  ect9
    ECHO -------------------------------------
    ECHO ============ APPUYEZ SUR 'Q' POUR QUITTER ============
    ECHO.
    
    
    SET /p choix=Choisir un menu:
    
    IF /I '%choix%'=='1' (goto :Selection1)
    IF /I '%choix%'=='2' (goto :Selection2)
    IF /I '%choix%'=='3' GOTO Selection3
    IF /I '%choix%'=='4' GOTO Selection4
    IF /I '%choix%'=='5' GOTO Selection5
    IF /I '%choix%'=='6' GOTO Selection6
    IF /I '%choix%'=='7' GOTO Selection7
    IF /I '%choix%'=='8' GOTO Selection8
    IF /I '%choix%'=='9' GOTO Selection9
    IF /I '%choix%'=='Q' GOTO Quit
    
    
    CLS
    
    ECHO ============ ERREUR DE FRAPPE ============
    ECHO -------------------------------------
    ECHO Merci de choisir un numero de menu 
    echo [1-9] ou ecrire 'Q' pour quitter
    ECHO -------------------------------------
    ECHO ============ APPUYEZ SUR UNE TOUCHE POUR CONTINUER ============
    
    PAUSE > NUL
    GOTO MENU
    
    :Selection1
    CLS
    ECHO ============= MENU EMPRUNT MATERIEL ============
    ECHO -------------------------------------
    ECHO 1.  Ordinateur Fixe
    ECHO 2.  Ecran
    ECHO 3.  Ordinateur Portable
    ECHO 4.  Prise RJ 45
    ECHO 5.  Prise HDMI
    ECHO 6.  Imprimante
    ECHO 7.  ect
    
    pause
    
    :Selection2
    CLS
    ECHO ============= MENU RETOUR MATERIEL ============
    ECHO -------------------------------------
    ECHO 1.  Ordinateur Fixe
    ECHO 2.  Ecran
    ECHO 3.  Ordinateur Portable
    ECHO 4.  Prise RJ 45
    ECHO 5.  Prise HDMI
    ECHO 6.  Imprimante
    ECHO 7.  ect
    
    pause
    
    :Selection3
    
    and in TEST3
    
    :Selection4
    
    and TEST4
    
    :Selection5
    
    and TEST5
    
    :Selection6
    
    and TEST6
    
    :Selection7
    
    and TEST7
    
    :Selection8
    
    and TEST8
    
    :Selection9
    
    and TEST9
    
    :Quit
    CLS
    
    ECHO ==============MERCI===============
    ECHO -------------------------------------
    ECHO ======APPUYEZ SUR UNE TOUCHE POUR CONTINUER======
    
    PAUSE>NUL
    EXIT

    J'ai via l'aide d'une personne sur ce fofo fait un script en .HTA cependant je n'ai pas la possibilité de changer les caractères de texte ni les cellules du cou ca fait un peu fade .
    Ils utilisent libre office et je suis perdu pour faire le code du cou....je suis partis sur le code plus haut .


    Je remercie d'avance les personnes qui pourront m'orienter , m'aider!!

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    Une idée pour la sauvegarde de ta base de donnée :


    Ce code va génerer un fichier BD.txt (la base de donnée)

    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
    @echo off
    ::Les constantes
    set "C1=ordinateur"
    set "C2=Imprimante"
    
    ::On charge la Base de donnée
    if exist bd.txt for /f "delims=" %%a in (bd.txt) do set %%a
    
    setlocal enabledelayedexpansion
    
    :start
    cls&set /a $c=1
    echo 1 =^> Ordinateur ^| 2 =^> Imprimante
    set /p "$tmp=Entrez la valeur relative au matos que vous emprunter ou restituer : "
    
    ::Au cas ou la constante n'existe pas
    set "$type=!C%$tmp%!"
    if not defined $type goto:start
    
    set /p "$sw=[E]mprunt5/[R]estitution ?
    set /p "$nom=Vos initiales : "
    
    if /i "%$sw%"=="E" (
    	set "$header=##"
    	) else (
    	if /i "%$sw%"=="R" (
    		set "$header=###"
    		) else (
    			goto:start)
    )
    
    :1
    
    if defined %$header%%$type%%$c% (
      set /a $c+=1
      goto:1)
    
    set "%$header%%$type%%$c%=%$nom%"
    set ##
    goto:savebd
    goto:start
    
    :savebd
    ::On sauve dans la BD
    
    (for /f "delims=" %%a in ('set ##') do echo %%a)>bd.txt
    Echo entr‚ sauv‚e
    
    pause
    goto:start
    Tu vois qu'avec peu de ligne on fait un moteur hyper bien structuré et évolutif.

    On peu rajouter les dates, heures de prêt et restitution dans la BD.

    Tous ce qui commençe par ## est emprunt et tout ce qui commence par ### est restitution.

    Il est donc très facile de parser chaque élement avec les initial pour voir ce qui a été restitué ou pas et regeneré une BD updaté.
    On peu également facilement adapter un système de gestion de stock en paralèlle juste en initialisant une variable par type de matériel.

    Pour rajouter un él´ment (matériel) il te suffit de créer la constante et de le rajouter dans le echo du menu


    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2016
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Merci !!! Je vais prendre le temps de tout comprendre et de modifier tout cela.
    Merci de l'aide et des conseils!!!

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2016
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Bonjour!
    Je reviens vers le forum pour un peu d'aide...

    J'ai apporter des modifications au script précédemment donné par "Sachadee", qui par la même occasion je remercie encore!

    Voici 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    @echo off
    CLS
    title Service Informatique 
    mode con cols=80
    mode con lines=30
    
    ::Les constantes
    set "C1=OrdinateurFixe"
    set "C2=OrdinateurPortable"
    set "C3=Ecran"
    set "C4=ToileBlancheRetroprojecteur"
    set "C5=CableetpriseRJ45"
    set "C6=Imprimante"
    set "C7=Switch"
    
    ::On charge la Base de donn├®e
    if exist bd.txt for /f "delims=" %%a in (bd.txt) do set %%a
    
    setlocal enabledelayedexpansion
    
    
    :MENU
    CLS
    @echo off
    color f
    @echo.                        ╔════════════════════════════╗
    @echo                         ║    Bienvenue %username%      ║
    @echo                         ║                            ║
    @echo                         ║   Service Informatique     ║  
    @echo.                        ╚════════════════════════════╝ 
    @echo. 
    @echo.                                 ____________
    @echo                                 ^| %date% ^|
    @echo                                 ^|            ^|
    @echo                                 ^| %TIME:~0,8%   ^|
    @echo                                 ^|            ^|
    @echo                                 ^|----------- ^|
    @echo                                 /           //
    @echo                                /           //
    @echo                               /___________//
    echo.
    @echo off
    echo.
    ECHO ════════════════════════════════════════════════════════════════════════════════
    echo.
    ECHO 1.  Emprunt / Retour Materiel
    echo.
    ECHO 2.  Liste Emprunt / Retour
    echo.
    ECHO 3.  Liste Emprunt / Retour
    echo.
    echo.
    ECHO ════════════════════════════════════════════════════════════════════════════════
    
    
    SET /p choix=Choisir un Menu:
    
    IF /I '%choix%'=='1' (goto :start)
    IF /I '%choix%'=='2' (goto :start)
    IF /I '%choix%'=='3' (goto :Selection1)
    IF /I '%choix%'=='4' GOTO Selection4
    IF /I '%choix%'=='5' GOTO Selection5
    IF /I '%choix%'=='6' GOTO Selection6
    IF /I '%choix%'=='7' GOTO Selection7
    IF /I '%choix%'=='8' GOTO Selection8
    IF /I '%choix%'=='9' GOTO Selection9
    IF /I '%choix%'=='Q' GOTO Quit
    
    
    
    
    
    :start
    cls&set /a $c=1
    ECHO               ============= Service Informatique Menu =============
    echo.
    echo.
    echo.
    echo.
    echo.
    echo.
    ECHO ════════════════════════════════════════════════════════════════════════════════
    echo.
    echo 1.    Ordinateur Fixe
    echo 2.    Ordinateur Portable
    echo 3.    Ecran
    echo 4.    Toile Blanche Retro Projecteur
    echo 5.    Cable et prise RJ45
    echo 6.    Imprimante
    echo 7.    Switch
    echo 8.    Annuler
    echo.
    echo.
    ECHO ════════════════════════════════════════════════════════════════════════════════
    
    SET /p choix=Choisir un type de materiel:
    IF /I '%choix%'=='8' (goto :MENU)
    
    set /p "$tmp=Confirmation de type de matériel ?: "
    
    ::Au cas ou la constante n'existe pas
    set "$type=!C%$tmp%!"
    if not defined $type goto:start
    :popo
    set /p "$sw=[E]mprunt/[R]estitution ?
    set /p "$nom=Emprunt de Mr/Mme ? "
    
    if /i "%$sw%"=="E" (
    	set "$header=##"
    	) else (
    	if /i "%$sw%"=="R" (
    		set "$header=###"
    		) else (
    			goto:MENU)
    )
    
    :1
    
    if defined %$header%%$type%%$c% (
      set /a $c+=1
      goto:1)
    
    set "%$header%%$type%%$c%= || %date% ||%TIME:~0,8%|| %$nom% 
    set ##
    goto:savebd
    goto:start
    
    :savebd
    ::On sauve dans la BD
    
    (for /f "delims=" %%a in ('set ##') do echo %%a)>bd.txt
    Echo Donnees Sauvegardees
    
    pause
    goto:Menu
    
    
    
    :Selection1
    CLS
    Type bd.txt
    pause>nul
    goto:Menu

    Ma quéstion est : - Est il possible de faire en sorte de pouvoir supprimer par exemple lors d'un retour de matériel, les données dans le fichier .TXT en passant par le script. ( Sans l'ouvrir manuellement) .
    - Une autre quéstion me viens , On peut voir que les emprunts sont indiqués par : ## et les retours par ###. Est il possible de faire en sorte d'indiquer autre chose? Par exemple : Emprunt / Retour ?


    Je m'excuse pour mes questions de débutants par avance !

    et merci encore pour vos conseils et votre aide!

  5. #5
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    On peu faire un sytème qui juste sauve les emprunts et qui tue la variable lors de la restitution.

    J'ai repris 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    @echo off
    ::Les constantes
    set "C1=ordinateur"
    set "C2=Imprimante"
    
    ::On charge la Base de donnée
    if exist bd.txt for /f "delims=" %%a in (bd.txt) do set %%a
    
    setlocal enabledelayedexpansion
    
    :start
    cls&set /a $c=1
    echo 1 =^> Ordinateur ^| 2 =^> Imprimante
    set /p "$tmp=Entrez la valeur relative au matos que vous emprunter ou restituer : "
    
    ::Au cas ou la constante n'existe pas
    set "$type=!C%$tmp%!"
    
    
    if not defined $type goto:start
    
    set /p "$sw=[E]mprunt5/[R]estitution ?
    set /p "$nom=Vos initiales : "
    
    if /i "%$sw%"=="E" (
    	set "$header=##"
    	) else (
    	if /i "%$sw%"=="R" (
    		set "$finded="
    
    	::On élimine la valeur d'entrée dans la base de donnée
    	::Si aucune occurence est trouvé on envoye un message
    		
    		for /f "tokens=1 delims==" %%a in ('find /i "%$nom%" bd.txt ^| find /i "%$type%"') do set "$finded=%%a"
    		if not defined $finded (
    			echo aucune occurence de %$nom% pour %$type% dans la BD
    			pause
    			goto:start
    
    			) else (
    			set "!$finded!="
    			goto:savebd
    		)
    	) else (goto:start)
    )
    
    :1
    
    if defined %$header%%$type%%$c% (
      set /a $c+=1
      goto:1)
    
    set "%$header%%$type%%$c%=%$nom%"
    goto:savebd
    goto:start
    
    :savebd
    ::On sauve dans la BD
    (for /f "delims=" %%a in ('set ##') do echo %%a)>bd.txt
    set ## 2>nul
    Echo entr‚ sauv‚e
    
    pause
    goto:start
    Je te conseil également de sauver toutes les actions dans un log par jour.
    et fait un test si la même personne emprunte 2x le même item envoye une alerte.

    Ensuite dans ton code en le survolant j'ai vu qu'il manque un string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set "%$header%%$type%%$c%= || %date% ||%TIME:~0,8%|| %$nom% "
    Ensuite évite l'utilisations des || remplace par des - ou _

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  6. #6
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2016
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    SU-PER!
    Encore merci beaucoup pour ton aide. Once again je vais prendre le temps de regarder tout ça . Je te remercie énormément pour le cou de main!

Discussions similaires

  1. Achat de materiels informatique pour maintenance en gros
    Par facilus68 dans le forum Achat et Conseils
    Réponses: 3
    Dernier message: 05/12/2014, 17h00
  2. [MCD] Base de donnée materiel informatique
    Par IMPRO dans le forum Schéma
    Réponses: 6
    Dernier message: 15/05/2010, 17h37
  3. DFMOI vente de materiel informatique a la reunion
    Par antoine974 dans le forum Mon site
    Réponses: 13
    Dernier message: 03/09/2009, 09h45
  4. mcd en uml de gestion du materiel informatique
    Par juniorus dans le forum UML
    Réponses: 1
    Dernier message: 18/08/2008, 09h53

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