Batch file VIM-转换字符编码的Bat

Batch file VIM-转换字符编码的Bat,batch-file,csv,vim,encoding,character-encoding,Batch File,Csv,Vim,Encoding,Character Encoding,我有一个从谷歌硬盘下载的.csv文件,它的编码不识别重音字符(西班牙语字符) 使用VIM editor for Windows,我可以通过打开文件(VIM西班牙语.csv),然后在文件类型内解决此问题 :write ++enc=utf-16 spanish-2.csv 现在我需要创建一个.bat或.ps1来自动为我做这件事。我该怎么做 p.D.:我试过使用iconv,但我无法转换从Google Drive下载的文件,因为我不知道它是如何编码的。我试过: iconv -f ANSI:X3.4-

我有一个从谷歌硬盘下载的.csv文件,它的编码不识别重音字符(西班牙语字符)

使用VIM editor for Windows,我可以通过打开文件(VIM西班牙语.csv),然后在文件类型内解决此问题

 :write ++enc=utf-16 spanish-2.csv
现在我需要创建一个.bat或.ps1来自动为我做这件事。我该怎么做

p.D.:我试过使用iconv,但我无法转换从Google Drive下载的文件,因为我不知道它是如何编码的。我试过:

iconv -f ANSI:X3.4-1968 -t UTF-8 spanish.csv > spanish-2.csv
iconv -f ANSI:X3.4-1986 -t UTF-8 spanish.csv > spanish-2.csv
iconv -f ASCII -t UTF-8 spanish.csv > spanish-2.csv
和许多其他编码,但它表示文件无法转换。

找出编码 当您在Vim中打开
spanish.csv
源文件时

:setlocal fileencoding?
应该告诉您检测到的编码。还有第三方工具,如
enca
,可以执行此检测。然后,您可能只需要将编码名称转换为
iconv
所期望的格式

变身 您也可以直接使用Vim进行转换;可以通过
-c{cmd}
在命令行上指定Ex命令:

vim -c "write ++enc=utf-16 spanish-2.csv" -c "quit" spanish.csv

通过使用
:argdo
,以及文件名
%:r-2.%:e
,您甚至可以将多个源文件传递到单个Vim实例进行转换。

先生,您让我开心了一天。非常感谢你。。“vim-c”write++enc=utf-16西班牙语-2.csv“-c”退出“西班牙语.csv”完成了工作