Windows `使用“where”命令找到gitk`程序,但无法执行?

Windows `使用“where”命令找到gitk`程序,但无法执行?,windows,git,path,gitk,Windows,Git,Path,Gitk,我尝试在Windows上运行,但控制台提供: 'gitk' is not recognized as an internal or external command, operable program or batch file. 但是,我能做到 > where gitk C:\Program Files (x86)\Git\bin\gitk 怎么回事?更新:窃取OP的评论: 感谢(冗长的)解释,对我来说最简单的修复方法是从旧的msysGit(1.9.5)版本转移到更新的“Git fo

我尝试在Windows上运行,但控制台提供:

'gitk' is not recognized as an internal or external command,
operable program or batch file.
但是,我能做到

> where gitk
C:\Program Files (x86)\Git\bin\gitk

怎么回事?

更新:窃取OP的评论:

感谢(冗长的)解释,对我来说最简单的修复方法是从旧的msysGit(1.9.5)版本转移到更新的“Git for Windows”版本,该版本有一个适合gitk的Windows包装器


与大多数git命令不同,gitk是一个调用Tcl的shell脚本

如果检查
gitk
可执行文件本身,其前几行是:

#!/bin/sh
# Tcl ignores the next line -*- tcl -*- \
exec wish "$0" -- "$@"
(至少在我的Linux系统上是这样的;gitk的Windows安装程序可能会改变这一点。)

在类Unix系统上,第一行(称为a)告诉系统调用
/bin/sh
来执行文件,而不是直接执行它

第三行执行
wish
命令,该命令将脚本作为Tcl脚本执行

如果您在Windows系统上安装了Tcl,您应该能够使用如下内容作为Tcl脚本运行
gitk

C:\> tclsh "C:\Program Files (x86)\Git\bin\gitk"
(免责声明:我没有尝试过。)

您还可以将命令名从
gitk
更改为
gitk.tcl
,并在Windows中设置文件关联,以便正确调用该命令。(我有点惊讶Windows git安装程序没有为您这样做。)

可以找到有关在Windows上运行Tcl脚本的更多信息


并讨论从上下文菜单而不是从命令行在Windows上调用
gitk

可能该目录不在默认搜索路径中?如果以“
C:\ProgramFiles(x86)\Git\bin\gitk
”的形式显式运行它会发生什么?指针不错,我刚刚意识到,虽然Git\bin文件夹中的大多数二进制文件都是exe文件,但gitk是Linux bash脚本。我可能需要通过
git gui
运行它
git gui
gitk
是两个不同的程序。是的,它们是从控制台运行的
git gui
,然后可以从git gui对话框执行
gitk
。感谢(冗长的)解释,对我来说最简单的修复方法是从旧的msysGit(1.9.5)迁移更新版本的“Git for Windows”版本,该版本具有适用于gitk的Windows包装。我窃取了您的评论并将其添加到我的答案中。