如何将改变路径的.bat文件放入%PATH%里面?

如何将改变路径的.bat文件放入%PATH%里面?

我遇到了一个问题这里(你可以阅读它以便更好地理解)。我需要编写更改路径的 .bat 文件。

例如:在 cmd 中发送命令时:cd ~ 我想要转到 %HOMEPATH%。事实上 - 我只想在每个包含目录的命令中将 ~ 替换为 %HOMEPATH%。

我该如何实现它?我读到这里我必须将路径更改 .bat 文件放在 %PATH% 中。怎么做?以及如何用 Windows 脚本语言编写该路径更改函数?

任何意见,将不胜感激 ;)

答案1

如果我理解你的问题没有错的话——

您需要的命令是“SETX”,而不是 SET。“SETX”将普遍设置环境变量。或者,您也可以通过 GUI 使用控制面板 > 系统 > 高级系统设置 > 环境变量来设置环境变量。

对于您想要执行的操作,您可以使用如下命令:

SETX HP %USERPROFILE%

然后(在未来的命令窗口中,而不是当前的命令窗口中)HP 将等于 %USERPROFILE% 的位置,在 Windows 7 中通常是 C:\USERS\。

那么将来你就可以使用了CD %HP%

==========

或者,您可以创建符号链接;但是,符号链接将指向特定位置。例如,您可以使用

MKLINK /D HP C:\USERS\WOJ

然后命令CD HP 会带你到 C:\USERS\WOJ

此方法的问题在于您必须位于保存符号链接的目录中才能引用它。

您遇到的限制是 Windows 如何处理别名。您可以使用 DOSKEY 轻松地在 Windows 中为命令设置别名,但位置不能以类似的方式设置别名,尽管它们是通过环境变量(系统和用户特定)引用的。环境变量要求您使用分隔符 % 符号进行替换。

答案2

正如其他发帖者所说,“~”是 *nix 的东西。据我所知,Windows 没有类似的约定。

可以使用“set”命令在命令提示符中设置路径命令,但我认为这也不是您想要的。它的作用是为命令提示符提供执行命令时要检查的位置列表。假设您输入“pkunzip”,它会查看“PATHS”中指定的所有路径以查找可执行文件。它现在实际上已经不怎么用了,更像是 DOS 的东西。

但是......您仍然可以将其用作快捷方式......

如果你做了类似的事情

set somepath=c:\somefolder\somefolder

然后当你想引用它时你可以这样做

dir %somepath%

您可以在命令提示符下键入“set”来设置所有“set”环境变量的列表。

这有帮助吗?也许我不明白你的问题。

相关内容