Modifier un ficher
Résolu/Fermé
Jordi.D
Messages postés
51
Date d'inscription
vendredi 11 janvier 2019
Statut
Membre
Dernière intervention
8 février 2019
-
15 janv. 2019 à 21:05
Jordi.D Messages postés 51 Date d'inscription vendredi 11 janvier 2019 Statut Membre Dernière intervention 8 février 2019 - 16 janv. 2019 à 19:38
Jordi.D Messages postés 51 Date d'inscription vendredi 11 janvier 2019 Statut Membre Dernière intervention 8 février 2019 - 16 janv. 2019 à 19:38
A voir également:
- Modifier un ficher
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Comment modifier un pdf - Guide
- Modifier story facebook - Guide
- Modifier sa voix en direct - Guide
3 réponses
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
16 janv. 2019 à 17:44
16 janv. 2019 à 17:44
En VBScript
Fichier à renommer en cequetuveux.vbs
Fichier à renommer en cequetuveux.vbs
FileName = "test.reg" FindStr = """name""" & "=" & """BAM201""" ReplaceWith = """Name""" & "=" & """BAM20x""" 'Read source text file FileContents = GetFile(FileName) 'replace all string In the source file dFileContents = replace(FileContents, FindStr, ReplaceWith, 1, -1, 1) 'Compare source And result if dFileContents <> FileContents Then 'write result If different WriteFile FileName, dFileContents Wscript.Echo "Replace done." If Len(ReplaceWith) <> Len(FindStr) Then 'Can we count n of replacements? Wscript.Echo _ ( (Len(dFileContents) - Len(FileContents)) / (Len(ReplaceWith)-Len(FindStr)) ) & _ " replacements." End If Else Wscript.Echo "Text :" & FindStr & " non présent dans le fichier" End If 'Read text file function GetFile(FileName) If FileName<>"" Then Dim FS, FileStream Set FS = CreateObject("Scripting.FileSystemObject") on error resume Next Set FileStream = FS.OpenTextFile(FileName) GetFile = FileStream.ReadAll End If End Function 'Write string As a text file. function WriteFile(FileName, Contents) Dim OutStream, FS on error resume Next Set FS = CreateObject("Scripting.FileSystemObject") Set OutStream = FS.OpenTextFile(FileName, 2, True) OutStream.Write Contents End Function
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
15 janv. 2019 à 21:33
15 janv. 2019 à 21:33
Bonjour,
Ca reste un fichier text... donc n'importe quel editeur de text te permet de le faire.
https://www.commentcamarche.net/contents/433-fichier-reg
Aucun rapport avec un langage de programmation.. c'est juste la modification d'un fichier windows..
Par contre..si tu ne sais pas exactement ce que tu fais au niveau du registre de ton windows.. tu risque de tout casser... attention !m
Ca reste un fichier text... donc n'importe quel editeur de text te permet de le faire.
https://www.commentcamarche.net/contents/433-fichier-reg
Aucun rapport avec un langage de programmation.. c'est juste la modification d'un fichier windows..
Par contre..si tu ne sais pas exactement ce que tu fais au niveau du registre de ton windows.. tu risque de tout casser... attention !m
Jordi.D
Messages postés
51
Date d'inscription
vendredi 11 janvier 2019
Statut
Membre
Dernière intervention
8 février 2019
16 janv. 2019 à 13:09
16 janv. 2019 à 13:09
Bonjour,
Désoler je me reprend effet je cherche automatiser le changement dans mon ficher à l'aide d'un script mais je ne sais pas comment faire
Désoler je me reprend effet je cherche automatiser le changement dans mon ficher à l'aide d'un script mais je ne sais pas comment faire
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
16 janv. 2019 à 13:17
16 janv. 2019 à 13:17
Modifier quoi ?
Le fichier contient quoi ?
Dans quel langage ?
Le fichier contient quoi ?
Dans quel langage ?
Jordi.D
Messages postés
51
Date d'inscription
vendredi 11 janvier 2019
Statut
Membre
Dernière intervention
8 février 2019
>
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
16 janv. 2019 à 13:44
16 janv. 2019 à 13:44
Il faut modifier le contenue d'une ligne ( On connaît déjà le numéro de la ligne) ,
Je te mets le contenue du fichier ici
"; The RegSave Utility created this file
; This utility was written by Paul Hurford, Symbol EMEA TS
; You use the utility at your own risk
;
; Template File : \Application\RegSave.Reg
; Program Version : 2.20.01 May xx xxx
; File created 1/11/2003 00:27:58
;
[HKEY_LOCAL_MACHINE\Ident]
"Name"="BAM201"
a l'aide d'un fichier .bat ou autre je souhaiterais modifier le "BAM201" en BAM20x"
Je te mets le contenue du fichier ici
"; The RegSave Utility created this file
; This utility was written by Paul Hurford, Symbol EMEA TS
; You use the utility at your own risk
;
; Template File : \Application\RegSave.Reg
; Program Version : 2.20.01 May xx xxx
; File created 1/11/2003 00:27:58
;
[HKEY_LOCAL_MACHINE\Ident]
"Name"="BAM201"
a l'aide d'un fichier .bat ou autre je souhaiterais modifier le "BAM201" en BAM20x"
Jordi.D
Messages postés
51
Date d'inscription
vendredi 11 janvier 2019
Statut
Membre
Dernière intervention
8 février 2019
Modifié le 16 janv. 2019 à 16:38
Modifié le 16 janv. 2019 à 16:38
Après quelque recherche j'ai trouvé ce code
EDIT : Ajout des balises de code
Le problème c'est qu'il efface les commentaires et les sauts de lignes
@echo off setlocal enabledelayedexpansion set "$Fichier=test.reg" (for /f "delims=" %%a in ('type "%$Fichier%"') do ( set "$ligne=%%a" set "$ligne=!$ligne:%~1=%~2! echo !$ligne!) )>sortie.reg
EDIT : Ajout des balises de code
Le problème c'est qu'il efface les commentaires et les sauts de lignes
jordane45
Messages postés
38306
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 novembre 2024
4 705
16 janv. 2019 à 16:39
16 janv. 2019 à 16:39
C'est en effet le type de script que le t'aurai proposé...
Par contre... y a t'il une obligation absolue d'utiliser un batch ?
Un Vbscript semblerait plus adapté.
Voir un powershell...
Par contre... y a t'il une obligation absolue d'utiliser un batch ?
Un Vbscript semblerait plus adapté.
Voir un powershell...
Jordi.D
Messages postés
51
Date d'inscription
vendredi 11 janvier 2019
Statut
Membre
Dernière intervention
8 février 2019
16 janv. 2019 à 16:55
16 janv. 2019 à 16:55
Non ce n'est pas une obligation
Par contre je n'y connaît rien en PowerShell
Par contre je n'y connaît rien en PowerShell
16 janv. 2019 à 18:04
16 janv. 2019 à 18:35
16 janv. 2019 à 19:26
Le code que je t'ai donné... fais un rechercher remplacer d'une chaine précise...
Si tu dois remplacer plusieurs fois la chaine ( en remplaçant par la même valeur partout...) il suffit de jouer avec le paramètre qui sert à ça :
https://www.w3schools.com/asp/func_replace.asp
Par contre.... si tu as plusieurs recherches à faire , plus de l'incrémentation... il faut complètement modifier le code.
Car si tu regardes bien... je ne fais pas une lecture ligne par ligne.. ni de boucle...
Moi j'ai répondu à la question que tu as posé..... là c'est totalement autre chose.
D'où l'importance de correctement (et complètement) expliquer ses besoins dès le départ.
Je te propose d'ouvrir une nouvelle discussion dans laquelle tu donneras un exemple de fichier COMPLET et dans laquelle tu expliqueras CLAIREMENT le résultat attendu.
16 janv. 2019 à 19:38