Я пытался преобразовать текстовый файл с кодировкой UTF8 в кодировку ANSI. Я использую один скрипт, который я нашел на этой платформе. Ниже приведен сценарий:
' Usage:
' EncodeFile strInFile, "UTF-8", strOutFile, "Windows-1254", 2
Sub EncodeFile(strInputFile, strInputCharset, strOutputFile, strOutputCharset, intOverwriteMode)
'5th parameter may take the following values:
'Const adSaveCreateOverWrite = 2
'Const adSaveCreateNotExist = 1
Const adReadLine = -2
Const adTypeBinary = 1
Const adTypeText = 2
Const adWriteLine = 1
Set objInputStream = CreateObject("ADODB.Stream")
Set objOutputStream = CreateObject("ADODB.Stream")
With objInputStream
.Open
.Type = adTypeBinary
.LoadFromFile strInputFile
.Type = adTypeText
.Charset = strInputCharset
objOutputStream.Open
objOutputStream.Charset = strOutputCharset
Do While .EOS <> True
strText = .ReadText(adReadLine)
objOutputStream.WriteText strText, adWriteLine
Loop
.Close
End With
objOutputStream.SaveToFile strOutputFile, intOverwriteMode
objOutputStream.Close
End Sub
Обратите внимание, что при запуске cmd, вызывающего этот сценарий, я получаю новый текстовый файл размером 0 КБ, и кодировка изменяется на ANSI. Но вся информация в текстовом файле отсутствует.
Как преобразовать кодировку, сохраняя данные в текстовом файле?
Кто-нибудь, пожалуйста, помогите.
@Echo off
SET CHEMINDAT = C:\Desktop\convertry\Scripts\
echo %DATE% %TIME% Debut de traitement.
for %%a in (C:\Desktop\convertry\Scripts\*.txt) do (
cscript //NoLogo C:\Desktop\convertry\Scripts\unix2dos_3.vbs <%CHEMINDAT%%%a >>%%a.txt
del %%a
)
pause
exit /b 1