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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ver >c:\Temp\Windowsver.txt
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
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
Ce qui me donne ceci :

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 :

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
mais ce dernier ne fait simplement que copier l'intégralité du VerWindows sur VerWindows2.

D'avance merci pour votre aide !