如何使用tcl使用cmd提示符运行带有参数的VB脚本

时间:2014-09-04 13:22:56

标签: tcl

我有一个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

它出错了。有谁可以提出问题是什么?

2 个答案:

答案 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的建议制作双反斜杠。