Comment convertir un fichier txt UTF-8 en UTF-16 en batch
Résolu
YCN-
Messages postés
116
Date d'inscription
Statut
Membre
Dernière intervention
-
YCN- Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
YCN- Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis aujourd'hui en stage et cherche un moyen de faire cette conversion (UTF-8 -> UTF-16 ) à l'aide d'un script, un VBScript ne me poserait pas de problème. Mais je ne trouve pas d'utilitaire le permettant.
Je suis obligé de le faire dans mon script puisque ce script va être envoyé par la suite sur une centaine de serveur.
Sinon une autre solution est possible, je dois effectuer un changement dans un fichier VMC, coder en UTF-16, je passe par un fichier intermédiaire car mon script VBS ne me permet de changer directement mon fichier VMC, il le corromps à chaque fois. Peut être peut on éviter de passer par un fichier intermédiaire.
C'est pourquoi je fais :
type monfichierexemple.vmc >> intermediare.txt
remplacementchaine.vbs chaineàchanger changement
type intermediaire.txt >> monfichierfinal.vmc
voila mon script vbs remplacementchaine.vbs
fichier=WScript.arguments(0)
chainearemplacer=WScript.arguments(1)
remplacerpar=WScript.arguments(2)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Dim st
Set fso = CreateObject("Scripting.FileSystemObject")
'Ouverture et lecture du fichier à modifier
Set f = fso.OpenTextFile(fichier, ForReading)
st = f.readAll
f.Close
'ecriture du fichier modifier...
Set f = fso.OpenTextFile(fichier, ForWriting)
f.Write replace(st,chainearemplacer,remplacerpar)
f.Close
Merci pour votre aide,
à très vite
Je suis aujourd'hui en stage et cherche un moyen de faire cette conversion (UTF-8 -> UTF-16 ) à l'aide d'un script, un VBScript ne me poserait pas de problème. Mais je ne trouve pas d'utilitaire le permettant.
Je suis obligé de le faire dans mon script puisque ce script va être envoyé par la suite sur une centaine de serveur.
Sinon une autre solution est possible, je dois effectuer un changement dans un fichier VMC, coder en UTF-16, je passe par un fichier intermédiaire car mon script VBS ne me permet de changer directement mon fichier VMC, il le corromps à chaque fois. Peut être peut on éviter de passer par un fichier intermédiaire.
C'est pourquoi je fais :
type monfichierexemple.vmc >> intermediare.txt
remplacementchaine.vbs chaineàchanger changement
type intermediaire.txt >> monfichierfinal.vmc
voila mon script vbs remplacementchaine.vbs
fichier=WScript.arguments(0)
chainearemplacer=WScript.arguments(1)
remplacerpar=WScript.arguments(2)
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Dim st
Set fso = CreateObject("Scripting.FileSystemObject")
'Ouverture et lecture du fichier à modifier
Set f = fso.OpenTextFile(fichier, ForReading)
st = f.readAll
f.Close
'ecriture du fichier modifier...
Set f = fso.OpenTextFile(fichier, ForWriting)
f.Write replace(st,chainearemplacer,remplacerpar)
f.Close
Merci pour votre aide,
à très vite
A voir également:
- Chcp utf16
- Iphone 16 - Accueil - Téléphones
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Clé windows 8 - Guide
1 réponse
Re-bonjour,
mon problème n'est plus d'actualité, j'ai écrit un script vbs pour copier mon fichier vmc, à priori les scripts vbs conservent le système d'encodage utilisé dans les fichier d'origine ce que le bat ne fait pas. Attention donc aux format utilisés en batch pour ceux qui rencontreraient ce genre de problème.
(utilisé chcp ne sert à rien le batch écrira tout de même le fichier dans le format ANSI)
mon problème n'est plus d'actualité, j'ai écrit un script vbs pour copier mon fichier vmc, à priori les scripts vbs conservent le système d'encodage utilisé dans les fichier d'origine ce que le bat ne fait pas. Attention donc aux format utilisés en batch pour ceux qui rencontreraient ce genre de problème.
(utilisé chcp ne sert à rien le batch écrira tout de même le fichier dans le format ANSI)
En espérant que cela aide quelqu'un un jour,
Yann CARDAILLAC