Что нового

Смена кодировки в txt файле

MEXAH

What if?
Сообщения
28
Репутация
1
Может кто уже такое делал, нужен скрипт преобразующий файл .txt из UTF-8 в ANSI ?
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Re: txt = ANSI

Не совсем средствами AutoIt... Перекодированный файл будет лежать вместе со скриптом с названием Done.txt
Код:
$fName = "Тушканчики.txt" ;Имя файла
$fWay =  @ScriptDir & "\" ;Путь до скрипта
$hFile = FileOpen($fWay & "test.bat", 1)

; Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
If $hFile = -1 Then
    MsgBox(4096, "Ошибка", "Невозможно открыть файл.")
    Exit
EndIf

FileWrite($hFile, "type " & $fWay & $fName &" >" & $fWay & "Done.txt" & @CRLF)
FileWrite($hFile, "chcp 1251 >nul")

FileClose($hFile)

Run($fWay & "test.bat")

FileDelete($fWay & "test.bat")
 
Автор
MEXAH

MEXAH

What if?
Сообщения
28
Репутация
1
Re: txt = ANSI

Код:
$txt1 = 'путь к файлу .txt'
$hFile = FileOpen($txt1, 0)
$sChars = FileRead($hFile)
FileClose($hFile)
$hFile = FileOpen($txt1, 2)
FileWrite($hFile, $sChars)
FileClose($hFile)


вот так получилось) без преобразований, просто перезапись файла в чистую.
Кстати я пытался в первом обращении к файлу сразу перезапись сделать - не получилось.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Re: txt = ANSI

Dima1337 сказал(а):
Не совсем средствами AutoIt... Перекодированный файл будет лежать вместе со скриптом с названием Done.txt
Хотябы так (средствами AutoIt, в одну строку, без лишнего кода и без лишних файлов):
Код:
RunWait(@ComSpec&" /c " & "type " & $fWay & $fName &" >" & $fWay & "Done.txt" & " && " & "chcp 1251 >nul")

см. эту тему#3+.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: txt = ANSI

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"txt = ANSI" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 
Верх