For a pure script solution, this is a hybrid batch/javascript solution (adapted from a previous vbs answer). Adapt as needed and save as .cmd
file.
@if (@this==@isBatch) @then
@echo off
cscript //nologo //e:jscript "%~f0" ^
/input:"input_file.csv" ^
/output:"output_file.csv" ^
/from:"x-ansi" ^
/to:"utf-8"
exit /b
@end
var adTypeText = 2;
var adSaveCreateOverWrite = 2;
var inputFile = WScript.Arguments.Named.Item('input');
var outputFile = WScript.Arguments.Named.Item('output');
var from = WScript.Arguments.Named.Item('from');
var to = WScript.Arguments.Named.Item('to');
var inputStream = WScript.CreateObject('adodb.stream');
with (inputStream){
Type = adTypeText;
Charset = from;
Open();
LoadFromFile( inputFile );
}
var outputStream = WScript.CreateObject('adodb.stream')
with (outputStream){
Type = adTypeText;
Charset = to;
Open();
WriteText( inputStream.ReadText );
SaveToFile( outputFile, adSaveCreateOverWrite );
}
inputStream.Close()
outputStream.Close()