我有一个VB脚本将csv文件转换为xls。当这个VB脚本在cmd提示符下运行时,它需要2个参数:需要转换的csv文件的路径,以及要保存它的xls文件的路径:
D:\csv2xlx.vbs D:\sample.csv D:\converted.xls
我希望通过调用cmd提示符使用tcl执行此操作。我写的时候:
exec cmd.exe /c start D:\csv2xls.vbs D:\sample.csv D:\converted.xls
它出错了。有谁可以提出问题是什么?
答案 0 :(得分:2)
你可能遇到的关键问题是那些反斜杠被Tcl解释而不是通过。修复是使用正斜杠,然后在file nativename
期间使用exec
处理文件名:
exec cmd.exe /c start \
[file nativename D:/csv2xls.vbs] [file nativename D:/sample.csv] \
[file nativename D:/converted.xls]
或者,在这些文件名中使用\\
代替\
。或者把它们戴在牙套上。
exec cmd.exe /c start D:\\csv2xls.vbs D:\\sample.csv D:\\converted.xls
exec cmd.exe /c start {D:\csv2xls.vbs} {D:\sample.csv} {D:\converted.xls}
答案 1 :(得分:1)
我的机器上不再有VBScript,所以我无法测试它。尝试:
exec cscript.exe D:\\csv2xls.vbs D:\\sample.csv D:\\converted.xls
更新:根据Donal的建议制作双反斜杠。