我有几个想要定期使用的批处理文件,因此我决定将它们作为符号链接放入路径中的二进制文件夹中。我的想法是,我将像使用任何其他命令一样使用它们,而无需更改目录。例如。
> 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 添加到我的 PATHEXT 变量中,如这个问题。
将
.bat
扩展名添加到您创建的符号链接中,因为在 Windows 上,必须使用 .bat 扩展名来告诉系统它实际上是一个可执行批处理文件。您仍然可以仅通过输入文件名称来运行该文件。
mklink C:\utils\odbimport.bat C:\util-files\odbimport.bat
当源和目标位于同一卷上时,可以使用 NTFS 硬链接,优点是此类克隆可以从 Windows 资源管理器执行,与符号链接不同:
mklink /h C:\utils\odbimport.bat C:\util-files\odbimport.bat
fsutil hardlink create C:\utils\odbimport.bat C:\util-files\odbimport.bat