不清楚你的实际文件,仅以问题中的说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
/*&cls
@echo off
rem 将csv文件转换成xls/xlsx文件
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
dir /a-d/b/s *.csv|cscript -nologo -e:jscript "%~f0"
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
var excel=null;
try{
excel=new ActiveXObject('Excel.Application');
excel.DisplayAlerts=0;
}catch(e){
WSH.echo(e.message);
WSH.echo('Microsoft Excel not installed');
WSH.Quit();
}
while(!WSH.StdIn.AtEndOfStream){
var line=WSH.StdIn.ReadLine();
WSH.echo(line);
var file=fso.GetFile(line);
var xlsFile=file.Path.replace(/\.csv$/i,'.xls');
var book=excel.Workbooks.Open(file.Path);
book.SaveAs(xlsFile , 56);
book.Close();
}
excel.Quit();
乱码的原因是csv文件编码的问题。用notepad打开csv文件,然后 另存为 时选择其他编码格式就行,一般选择ANSI即可,如果已经是ANSI编码,就选择UTF8编码。改完编码后再改后缀名就没问题了
你出现乱码是bat的问题,你保存的应该是unicode吧,换成ansi,还有不要尝试直接复制百度知道的代码行
如
1 msgbox"hello"
2 msgbox"world"
这样格式的乱码无疑,那么怎么可以不乱码呢?
保存ansi,把问号删除,源回答啥排版就啥排版