不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
/*&cls&echo off&cd /d "%~dp0"
rem 读取excel表格文档的内容并创建/生成txt文本文件
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "file=表格.xlsx"
if not exist "%file%" (echo;"%file%" 未找到&pause&exit)
cscript -nologo -e:jscript "%~f0" "%file%"
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
var xlsfile=fso.GetFile(WSH.Arguments(0));
var excel=null;
try{
excel=new ActiveXObject('Excel.Application');
}catch(e){WSH.StdErr.WriteLine('MS Excel is not installed');WSH.Quit();}
excel.DisplayAlerts=false;
excel.Visible=true;
var wbook=excel.Workbooks.Open(xlsfile.Path);
var wsheet=wbook.Worksheets(1);
var a_value=trim(wsheet.Range('A1').value);
var b_value=trim(wsheet.Range('B1').value);
var c_value=trim(wsheet.Range('C1').value);
var newfolder=c_value.replace(/\//g,'\\').replace(/\\$/,'');
var txtname=a_value+'.txt';
var newfile=newfolder+'\\'+txtname;
mkdirs(newfolder);
WSH.StdErr.WriteLine(txtname+' --> '+newfolder);
var f=fso.CreateTextFile(newfile,2,true);
f.Write(b_value);
f.Close();
wbook.Close();
excel.Quit();
WSH.Quit();
function trim(z){
var zz=z;
if(z == undefined || z == null){zz='';}
return zz.toString().replace(/^\s*|\s*$/g,'');
}
function mkdirs(z){
var arr=z.split('\\');
var tp='';
for(var i=0;i<arr.length;i++){
tp=tp+arr[i]+'\\';
if(!fso.FolderExists(tp)){fso.CreateFolder(tp);}
}
}来自:求助得到的回答