Bonjour,

Je suis nouveau dans ce forum et je n'y connais rien en script .bat.

Je souhaite faire un batch qui me permettra de mettre à jour le BIOS en fonction d'un modèle d'ordinateur. Mon fichier de référence est msinfo32.txt.
Je voudrais qu'il cherche tout d'abord la chaine de caractère "optiplex 780" dans msinfo32.txt, si cette chaine est trouvée qu'il exécute le fichier c:\temp\bios780.exe sinon il recherche une nouvelle chaine de caractère "optiplex 990" pareil pour le modèle optiplex 790, puis 980 ....
Si aucune chaîne n'est trouvée, alors il affiche "MISE A JOUR BIOS INTROUVABLE"

J'ai commencé un script mais je ne suis pas certain du résultat.



Code bat : 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
Déclaration des variables
set bios780=optiplex 780
set bios790=optiplex 790
set bios980=optiplex 980
set bios990=optiplex 990
set bios7010=optiplex 7010
set bios9010=optiplex 9010
set bios9020=optiplex 9020
set biosT7000=optiplex T7000
set temppc=c:\temp\01
 
 
findstr %bios780% %temppc%\msinfo32.txt > NUL
if %errorlevel% EQU 0 (
%temppc%\bios780.exe
) else (goto :790
)
 
:optiplex 790
findstr %bios790% %temppc%\msinfo32.txt > NUL
if %errorlevel% EQU 0 (
%temppc%\bios790.exe
) else (goto : optiplex 980
)
 
:optiplex 980
findstr %bios980% %temppc%\msinfo32.txt > NUL
if %errorlevel% EQU 0 (
%temppc%\bios980.exe
 
) else (goto :990
)
 
:optiplex 7010
findstr %bios7010% %temppc%\msinfo32.txt > NUL
if %errorlevel% EQU 0 (
%temppc%\bios7010.exe
 
) else (goto :9010
)
 
:optiplex 9010
findstr %bios9010% %temppc%\msinfo32.txt > NUL
if %errorlevel% EQU 0 (
%temppc%\bios9010.exe
 
) else (goto :9020
)
 
:optiplex T7000
findstr %biosT7000% %temppc%\msinfo32.txt > NUL
if %errorlevel% EQU 0 (
%temppc%\biosT7000.exe
 
)
echo MISE A JOUR BIOS INTROUVABLE
 
 
:eof
Il y a certainement des oublis ou des choses à améliorer. La méthodologie est-elle cohérente ? Quelqu’un pourrait-il m'aider sur ce sujet ?

Merci.