如何让我的Windows7符号链接从命令行执行?

时间:2015-08-19 14:25:20

标签: windows batch-file cmd path symlink

我有几个我想定期使用的批处理文件,所以我决定将它们作为符号链接放到我路径中的二进制文件夹中。这个想法是我会像其他任何命令一样使用它们,而不必更改目录。例如。

> odbimport -u User -f filename 

其中odbimport是我的批处理文件odbimport.bat的符号链接。

我用来制作符号链接的过程如下:

C:\Users\user>mklink C:\utils\odbimport C:\util-files\odbimport.bat
symbolic link created for C:\utils\odbimport <<===>> C:\util-files\odbimport.bat

C:\Users\user>path
Path=C:\....;C:\utils\

C:\Users\user>where odbimport
C:\utils\odbimport

从我所看到的,看起来我已经创建了符号链接,并且路径知道在哪里找到它。

然而,在我创建了符号链接并尝试执行之后,我得到了:

C:\Users\user> odbimport -u me -f somefile
'odbimport' is not recognized as an internal or external command,
operable program or batch file. "

我一直在寻找答案但没有成功。我发现的一切似乎都更多地涉及如何创建工作符号链接而不是解决我的问题。我找到的最接近的是this。这基本上是我的问题,除了有点向后,因为我真的不想从Windows资源管理器运行符号链接。我也尝试将.LNK添加到this question中的PATHEXT变量。

1 个答案:

答案 0 :(得分:1)

.bat扩展名添加到您创建的符号链接中,因为在Windows .bat扩展名是必要的,告诉系统它实际上是一个可执行的批处理文件。您仍然可以通过仅键入其名称来运行该文件。

mklink C:\utils\odbimport.bat C:\util-files\odbimport.bat

当源和目标位于同一卷上时,可以使用NTSF硬链接,优点是可以从Windows资源管理器中执行此类克隆,这与符号链接不同:

  • mklink /h C:\utils\odbimport.bat C:\util-files\odbimport.bat
  • fsutil hardlink create C:\utils\odbimport.bat C:\util-files\odbimport.bat