【发布时间】:2015-09-12 04:56:35
【问题描述】:
我是批处理脚本和 vbscript 的新手。我想要做的是将 .xlsx Excel 文件转换为 .csv Excel 文件,在多个目录中(递归)。例如:
Main directory
subdirectory1
file1.xlsx
file2.xlsx
subdirectory2
file3.xlsx
file4.xlsx
我已经制作了这个批处理脚本:
FOR /r %%a in (*.xlsx) do (
SET filename=%%a
ExceltoCSV.vbs %filename% *.csv
)
for 循环内部是 ExceltoCSV.vbs。我从这个线程 Convert XLS to CSV on command line 得到了这段代码,我已经尝试了前 2 个答案(两者都不需要下载任何东西)。
if WScript.Arguments.Count < 2 Then
WScript.Echo "Error! Please specify the source path and the destination. Usage: XlsToCsv SourcePath.xls Destination.csv"
Wscript.Quit
End If
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
oBook.SaveAs WScript.Arguments.Item(1), 6
oBook.Close False
oExcel.Quit
WScript.Echo "Done"
错误是无法访问 ExceltoCSV.vbs 文件。但是,我相信批处理脚本正在运行,例如它会说:
SET filename=C:\folder\subfolder\test1.xlsx
然后它调用:
ExceltoCSV.vbs C:\folder\subfolder\test1.xlsx *.csv
我不确定问题是什么,我目前很困惑。
【问题讨论】:
标签: windows excel csv batch-file vbscript