Écrire à une ligne précise d'un fichier
Posté : mer. 29 mai 2019 15:23
Bonjour, voici mon problème mon script récupéré des informations de l'ordinateur après cela il met toutes les informations dans un fichier csv et un fichier json, mon problème et lords de la modification de mon fichier json je voudrais que si le fichier a déjà été créé il écrive à la suite tout en étant avant le ] de la fin.
Mon _FileWriteToLine ne marche pas le fichier reste intacte que faire ?
Voici mon code :
Mon _FileWriteToLine ne marche pas le fichier reste intacte que faire ?
Voici mon code :
Code : Tout sélectionner
#Region : Création d'un fichier au format JSON
;Vérifie si un dossier du nom de JSON existe, si ce n'est pas le cas il le crée
If Not FileExists("JSON") Then
DirCreate("JSON")
Endif
If Not FileExists("JSON\InfoOrdi.json") Then
;Création et ouverture du fichier InfoOrdi.json
$json = FileOpen(@ScriptDir & "\JSON\InfoOrdi.json", 1)
;Création d'un tableau où l'on insère les éléments obtenus précédemment au format json
Dim $tableau_info[9]=['[','{','"Nom_PC" : "' & @ComputerName & '",','"UUID" : "' & $uuid & '",','"Taille_Disk" : "' & $sizeDisk & '",','"RAM" : "' & $ssd & '",','"Eligible" : "' & $eligible & '"','}',']']
;Parcours du tableau pour ajouter chaque ligne du tableau dans le fichier InfoOrdi.json
For $i = 0 To Ubound($tableau_info) - 1
FileWrite($json, $tableau_info[$i] & @LF)
Next
;Fermeture du fichier InfoOrdi.json
FileClose($json)
Else
;Ouverture du fichier InfoOrdi.json
$json = FileOpen(@ScriptDir & "\JSON\InfoOrdi.json", 1)
;Création d'un tableau où l'on insère les éléments obtenus précédemment au format json
Dim $tableau_add[7]=['{','"Nom_PC" : "' & @ComputerName & '",','"UUID" : "' & $uuid & '",','"Taille_Disk" : "' & $sizeDisk & '",','"RAM" : "' & $ssd & '",','"Eligible" : "' & $eligible & '"',"}"]
$nbLigne = 1
;Parcours du tableau pour ajouter chaque ligne du tableau dans le fichier InfoOrdi.json
For $j = 0 To Ubound($tableau_add) - 1
$read = FileReadLine($json,$nbLigne)
_FileWriteToLine($json,1,$read&$tableau_add[$j]&@LF, False)
$nbLigne = $nbLigne + 1
Next
;Fermeture du fichier InfoOrdi.json
FileClose($json)
EndIf
#EndRegion