как вариант, сохраните этот код в текстовый файл, отредактируйте переменные, сохраните с расширением .BAT, и запустите
==================================================================================
/*
@echo off && cls
set WinDirNet=%WinDir%\Microsoft.NET\Framework
IF EXIST "%WinDirNet%\v2.0.50727\csc.exe" set csc="%WinDirNet%\v2.0.50727\csc.exe"
IF EXIST "%WinDirNet%\v3.5\csc.exe" set csc="%WinDirNet%\v3.5\csc.exe"
IF EXIST "%WinDirNet%\v4.0.30319\csc.exe" set csc="%WinDirNet%\v4.0.30319\csc.exe"
%csc% /nologo /out:"%~0.exe" %0
"%~0.exe"
del "%~0.exe"
exit
*/
// ПРОСТЕНЬКОЕ ИЗМЕНЕНИЕ КОДИРОВКИ ТЕКСТОВЫХ ФАЙЛОВ НА ЯЗЫКЕ C# :
namespace ConsoleApplication123
{
using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
// НАСТРОЙКА ПЕРЕМЕННЫХ :
// ПАПКА С ФАЙЛА ДЛЯ ПЕРЕКОДИРОВКИ :
string folder = @"C:\temp";
// РАСШИРЕНИЕ ФАЙЛОВ ДЛЯ ПЕРЕКОДИРОВКИ (с точкой) :
string fileExtention = "*.txt";
// ВХОДЯЩАЯ КОДИРОВКА
Encoding encodingIn = Encoding.GetEncoding("windows-1251");
// ВЫХОДЯЩАЯ КОДИРОВКА
Encoding encodingOut = Encoding.GetEncoding("utf-8");
// ВЫПОЛНЕНИЕ ПРОГРАММЫ :
FileInfo[] files = new DirectoryInfo(folder).GetFiles(fileExtention);
if (files.Length < 1)
{
Console.WriteLine("В папке " + folder + " нет файлов " + fileExtention);
}
else
{
for (int i = 0; i < files.Length; i++)
{
try
{
string outputDir = folder + @"\_OUTPUT\";
if (!Directory.Exists(outputDir)) Directory.CreateDirectory(outputDir);
FileStream fs = new FileStream(files[i].FullName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, encodingIn);
FileStream fsOut = new FileStream(outputDir + files[i].Name, FileMode.CreateNew, FileAccess.Write);
StreamWriter sw = new StreamWriter(fsOut, encodingOut);
String readLine;
while ((readLine = sr.ReadLine()) != null) sw.WriteLine(readLine);
sw.Close();
fsOut.Close();
sr.Close();
fs.Close();
}
catch (Exception ex)
{
Console.WriteLine("OBJECT : " + args[i].ToString());
Console.WriteLine();
Console.WriteLine("ERROR : " + ex.ToString());
Console.ReadKey();
}
}
}
//////////////////////////////////
System.Console.WriteLine();
System.Console.WriteLine();
System.Console.WriteLine("Завершено.");
System.Console.ReadKey();
}
}
}