Para isso eu normalmente usaria um processo em lote em uma linguagem de script
Por exemplo, isso é AutoIt:
$getfile = FileOpenDialog("Choose a file",@ScriptDir, "*.tsv",7)
If StringInSTr($getfile,"|") = 0 Then
$split = StringSplit($getfile,"|")
For $i = 2 to $split[0]
$file = FileOpen($split[$i])
StringReplace($split[$i],@TAB,",")
FileClose($split[$i])
Next
Else
$file = FileOpen($getfile)
StringReplace($file,@TAB,",")
FileClose($file)
EndIf
Isso seria tão fácil em VBScript, Batch, Python ou Perl.