Войти

Показать полную графическую версию : [решено] Автоматическая смена кодировки .txt файлов


Страниц : 1 [2]

anatolysn
06-05-2018, 17:59
Каюсь.
стоило написать мне, и невнимательно прочитать свой запрос
пакетный режим не работает когда нужно все файлы в одной папке с расширением log конвертировать в другую кодировку
вот что хотел сказать:
пакетный режим не работает когда нужно все файлы в одной папке с расширением log конвертировать в другую кодировку в другую папку

alpap
06-05-2018, 23:45
в другую папку »
ну это вы уже могли и командой move допилить на крайний случай.

Iska
07-05-2018, 02:24
в другую папку »
Option Explicit

Dim strSourceFolder
Dim strDestFolder
Dim objFile


strSourceFolder = "C:\Мои проекты\0153\Source"
strDestFolder = "C:\Мои проекты\0153\Destination"

With WScript.CreateObject("Scripting.FileSystemObject")
If .FolderExists(strSourceFolder) Then
If .FolderExists(strDestFolder) Then
For Each objFile In .GetFolder(strSourceFolder).Files
If StrComp(.GetExtensionName(objFile.Name), "log", vbTextCompare) = 0 Then
ConvertFile objFile.Path, .BuildPath(strDestFolder, objFile.Name), "utf-8", "cp866"
End If
Next
Else
WScript.Echo "Can't find destination folder [" & strDestFolder & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
WScript.Quit 1
End If
End With

WScript.Quit 0
'=============================================================================

'=============================================================================
Sub ConvertFile(strSourceFile, strDestFile, strSourceCharset, strDestCharset)
Const adTypeText = 2
Const adModeReadWrite = 3
Const adSaveCreateOverWrite = 2

Dim strContent

With WScript.CreateObject("ADODB.Stream")
.Type = adTypeText
.Mode = adModeReadWrite

.Charset = strSourceCharset
.Open
.LoadFromFile strSourceFile
strContent = .ReadText()
.Close

.Charset = strDestCharset
.Open
.WriteText strContent
.SaveToFile strDestFile, adSaveCreateOverWrite
.Close
End With
End Sub
'=============================================================================




© OSzone.net 2001-2012