如何在tcl中引用变量值作为exec命令(windows)中的参数?

时间:2015-10-09 14:35:14

标签: batch-file tcl windows-7-x64

我使用的tcl版本是8.6。在Windows 7 Prof系统(x64)上,我发现 使用exec命令时有些奇怪。我从阅读之前提出的一些问题中得到了这个。所以这里。

在命令行中使用字符串文字

exec {*}[auto_execok start] "" [file nativename "c:\\somefile.bat"]

批处理文件按预期执行。但是

set path "c:\\somefile.bat"
exec {*}[auto_execok start] "" [file nativename $path]

它没有执行(有时Windows声明它可以找到文件),甚至 如果c:\\是当前的工作目录。

不确定如何继续。

BTW在哪个包中是命令" console"包括在内。似乎我安装的tcl库不包含此命令。

1 个答案:

答案 0 :(得分:0)

只有

你应该没事
exec c:/somefile.bat

set path c:/somefile.bat
exec $path

在脚本中使用斜杠作为目录分隔符即使在Windows上也能正常工作。

文档:execset