Bonjour à tous !
Débutant dans le domaine Batch, je me suis vu a faire un script afin de connaître la version actuelle de Windows.
Je créé donc un fichier temporaire via cette commande :
puis je récupère dans un fichier texte les données suivantes : Nom Du PC;Date auquel le script à enregistré cette dernière; l'heure; la version de Windows
Code : Sélectionner tout - Visualiser dans une fenêtre à part ver >c:\Temp\Windowsver.txt
Ce qui me donne ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 FOR /f "tokens=4 delims=] " %%a IN (c:\Temp\Windowsver.txt) DO set VAR=%%a echo %COMPUTERNAME%;%DATE%;%TIME%;%VAR% >> \\VM-FICH\Installation\Verwindows\VerWindows.txt del c:\Temp\Windowsver.txt exit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ver >c:\Temp\Windowsver.txt FOR /f "tokens=4 delims=] " %%a IN (c:\Temp\Windowsver.txt) DO set VAR=%%a echo %COMPUTERNAME%;%DATE%;%TIME%;%VAR% >> \\VM-FICH\Installation\Verwindows\VerWindows.txt del c:\Temp\Windowsver.txt exit
Jusque là, tout va bien. Mais problème : ce script enregistre à la suite les nouvelles données après chaque log des ordinateurs du parc. Seulement, j'aimerai que ce dernier puisse faire un check dans le fichier VerWindows.exe du Nom du PC. Si celui-ci existe déjà, alors effacer puis réécrire la nouvelle donnée récupérer précédemment. Sinon juste ajouter celle dernière à la suite du fichier txt.
J'ai cherchais un peu sur les forums, j'ai découvert le FIND / FINDSTR. J'ai testé avec ceci :
mais ce dernier ne fait simplement que copier l'intégralité du VerWindows sur VerWindows2.
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 ver >c:\Temp\Windowsver.txt FOR /f "tokens=4 delims=] " %%a IN (c:\Temp\Windowsver.txt) DO set VAR=%%a echo %COMPUTERNAME%;%DATE%;%TIME%;%VAR% >> \\VM-FICH\Installation\Verwindows\VerWindows.txt echo > \\VM-FICH\Installation\Verwindows\VerWindows2.txt for /f "delims=" %%C in ('type \\VM-FICH\Installation\Verwindows\VerWindows.txt') do ( find /c "%%C" \\VM-FICH\Installation\Verwindows\VerWindows2.txt if errorlevel==1 echo %%C >> \\VM-FICH\Installation\Verwindows\VerWindows2.txt ) del c:\Temp\Windowsver.txt pause exit
D'avance merci pour votre aide !
Partager