如何利用批处理,历遍所有子文件夹里文件,把.csv文件全部转化为.xls文件,并删除原.xls文件?

如何利用批处理,历遍所有子文件夹里文件,把.csv文件全部转化为.xls文件,并删除原.xls文件,请不要直接改掉拓展名,这种方法不行,会出现乱码并且系统识别不了

不清楚你的实际文件,仅以问题中的说明为据
复制粘贴到记事本,另存为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都删掉可以吗

追答

按运行后窗口中的提示联系我

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-12
乱码的原因是csv文件编码的问题。用notepad打开csv文件,然后 另存为 时选择其他编码格式就行,一般选择ANSI即可,如果已经是ANSI编码,就选择UTF8编码。改完编码后再改后缀名就没问题了
第2个回答  2021-01-15
你出现乱码是bat的问题,你保存的应该是unicode吧,换成ansi,还有不要尝试直接复制百度知道的代码行

1 msgbox"hello"
2 msgbox"world"
这样格式的乱码无疑,那么怎么可以不乱码呢?
保存ansi,把问号删除,源回答啥排版就啥排版
相似回答