TCL列出运行脚本的相对路径
TCL list the relative path of running script
我正在寻找保存运行 tcl 脚本当前路径的代码。我已经找到了一个代码,但它不起作用。
proc getScriptDirectory {} {
set dispScriptFile [file normalize [info script]]
set scriptFolder [file dirname $dispScriptFile]
return $scriptFolder
}
有人有想法吗?
info script
命令有效,但仅当 脚本 为 运行 且其创建的过程为 运行 时无效。您必须在代码运行时保存该值,以便稍后使用。
# The two-argument version of [variable] initialises the variable's value
variable dispScriptFile [file normalize [info script]]
proc getScriptDirectory {} {
variable dispScriptFile
set scriptFolder [file dirname $dispScriptFile]
return $scriptFolder
}
以这种方式执行时,变量污染通常不会出现重大问题,因为您可以在您正在定义的命名空间中使用变量,而且几乎总是在您需要时定义一个命名空间。
我正在寻找保存运行 tcl 脚本当前路径的代码。我已经找到了一个代码,但它不起作用。
proc getScriptDirectory {} {
set dispScriptFile [file normalize [info script]]
set scriptFolder [file dirname $dispScriptFile]
return $scriptFolder
}
有人有想法吗?
info script
命令有效,但仅当 脚本 为 运行 且其创建的过程为 运行 时无效。您必须在代码运行时保存该值,以便稍后使用。
# The two-argument version of [variable] initialises the variable's value
variable dispScriptFile [file normalize [info script]]
proc getScriptDirectory {} {
variable dispScriptFile
set scriptFolder [file dirname $dispScriptFile]
return $scriptFolder
}
以这种方式执行时,变量污染通常不会出现重大问题,因为您可以在您正在定义的命名空间中使用变量,而且几乎总是在您需要时定义一个命名空间。