我经常需要访问一些命令行程序,例如 mysql。有没有办法为这些程序分配快捷方式,这样我就不再需要输入整个路径了?我认为这叫做符号链接,但据我所知,xp 中没有这些链接。但应该可以,当我之前从安装程序安装 MySQL 时,cmd 中到处都可以使用“mysql”作为访问数据库的关键字。
我尝试弄乱注册表并设置“我的电脑”后面的系统变量,但唯一的结果是我可以将它们作为 %xyz% 访问,这并不完全相同。其他方法都不起作用。
谢谢
答案1
执行以下操作:获取 mysql exe 的完整路径并复制它。
右键单击“我的电脑”,然后右键单击“属性”,然后单击“高级”,然后单击“环境变量”。
您应该有一个名为 PATH 的变量。编辑此变量。在当前变量的末尾添加一个分号和放置 mysql 可执行文件的目录的路径,使其看起来像 OLDPATH;PATHWHEREMYSQLEXECUTABLE 所在的目录
答案2
您可以使用以下方式将目录添加到您的路径中......
setx path "%path%;c:\foo" -m
但我通常会为每个命令创建一个非常简单的脚本,并使用我想要使用的快捷方式命名它。我的所有脚本都放在添加到路径的目录中。无论我在哪个 CD 中,我只需键入该快捷方式即可运行脚本。
您还可以开发这些脚本来使用参数,这样就可以非常轻松地执行复杂的命令,而无需记住它们。
这基本上就是脚本编写的全部内容。
下面是我编写的一个简单脚本示例,该脚本使用 Sysinternals 命令显示网络上任何机器的硬盘驱动器信息psinfo工具。我将其保存为driveinfo.cmd
,然后我就可以键入driveinfo /?
来提醒我语法。
@echo off
echo.
echo DriveInfo v1.1
REM dependencies: psinfo.exe
echo.
if [%1] == [] goto :command
if [%1] == [/?] goto :help
setlocal
set parm=%1
for %%U in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
call set "parm=%%parm:%%U=%%U%%"
)
if [%parm:~0,2%] == [\\] goto :command
goto :error
:command
if [%1] == [] (
echo Drive information for %COMPUTERNAME%:
) else (
echo Drive information for %parm:~2%:
)
psinfo -d volume %1 2>nul | findstr /v "System information for" || (
goto :noresponse
)
goto :eof
:error
echo Syntax error
goto :eof
:noresponse
echo.
echo %parm:~2% cannot be found
goto :eof
:help
echo Usage: driveinfo [\\computer]
goto :eof