如何使用tcl使用cmd提示符运行具有参数的VB脚本
我有一个VB脚本,可以将csv文件转换为xls。在cmd提示符下运行此VB脚本时,需要两个参数:需要转换的csv文件路径和要保存的xls文件路径:如何使用tcl使用cmd提示符运行具有参数的VB脚本,tcl,Tcl,我有一个VB脚本,可以将csv文件转换为xls。在cmd提示符下运行此VB脚本时,需要两个参数:需要转换的csv文件路径和要保存的xls文件路径: D:\csv2xlx.vbs D:\sample.csv D:\converted.xls 我希望通过调用cmd prompt使用tcl来执行此操作。当我写作时: exec cmd.exe /c start D:\csv2xls.vbs D:\sample.csv D:\converted.xls 它给出了一个错误。有人能告诉我问题出在哪里吗?我
D:\csv2xlx.vbs D:\sample.csv D:\converted.xls
我希望通过调用cmd prompt使用tcl来执行此操作。当我写作时:
exec cmd.exe /c start D:\csv2xls.vbs D:\sample.csv D:\converted.xls
它给出了一个错误。有人能告诉我问题出在哪里吗?我的机器上不再有VBScript,所以我无法测试。尝试:
exec cscript.exe D:\\csv2xls.vbs D:\\sample.csv D:\\converted.xls
更新:根据Donal的建议进行两次反斜杠。您可能遇到的关键问题是,这些反斜杠是由Tcl解释的,而不是通过。修复方法是使用前斜杠,然后在
exec
期间使用file nativename
处理文件名:
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}