TCL:无法使用“exec”命令打开程序

时间:2013-10-18 22:34:06

标签: file vim tcl

尝试在tcl中使用gvim.exe打开文件。我已正确安装gvim但无法使用以下2命令打开它:

exec gvim.exe $file_path
exec ./gvim.exe $file_path

但是,可以使用以下2个命令打开文件:

exec notepad.exe $file_path
exec "C:/Program Files/vim/vim74/gvim.exe

有人可以告诉我发生了什么以及我应该在这做什么吗?

1 个答案:

答案 0 :(得分:2)

当Tcl exec是一个程序时,它会使用操作系统的常规规则在PATH(即$::env(PATH))上搜索程序。不在PATH上的程序(而不是在Windows上的当前目录中)根本找不到。

修复1

更新PATH;我相信您可以通过控制面板基于每个用户或所有用户(具有适当的权限)来执行此操作。

修复2

更新脚本中的PATH。请注意,Windows路径分隔符是Tcl中的命令分隔符(即,需要转义或来自替换),PATH中的元素必须是本机目录名。< / p>

append ::env(PATH) $::tcl_platform(pathSeparator) \
        [file nativename "C:/Program Files/vim/vim74"]

## This will do the same thing...
# append ::env(PATH) {;C:\Program Files\vim\vim74}