David Basarab Asked: 2009-05-06 04:54:42 +0800 CST2009-05-06 04:54:42 +0800 CST 2009-05-06 04:54:42 +0800 CST 如何安装程序以便无论位置如何都可以从命令行访问它? 772 我希望能够从 Windows 中的命令行键入一些可执行文件并让它运行,无论我是否在文件所在的文件夹中。 如何设置或安装它,以便我可以键入someProgram并让它运行而不管我的文件夹位置如何? windows command-line-interface 5 个回答 Voted Best Answer Vagnerr 2009-05-06T05:00:03+08:002009-05-06T05:00:03+08:00 打开系统属性(右键单击我的电脑-> 属性)单击高级选项卡和环境变量按钮。在系统变量部分中查找路径。然后将您的程序放在该路径中列出的目录之一中,或者将安装目录添加到列表中。后者可能是更好的选择 Vincent De Baere 2009-05-06T04:57:27+08:002009-05-06T04:57:27+08:00 您可以将该程序目录的路径添加到您的 PATH 环境变量中。 lImbus 2009-05-21T09:36:57+08:002009-05-21T09:36:57+08:00 这就是在每个常见操作系统中使用 PATH 变量的目的。 如果你绑定到 Windows,有一个更好的方法可以做到这一点,如果你想广泛使用它:我曾经为很多程序设置它,所以我可以通过 Win-R 启动我的程序(比如 Start- >运行或在命令行上),键入可执行文件名称的几个字母,利用 MRU-List 并启动应用程序。 将这些可执行文件的所有路径添加到路径的缺点是它会减慢命令的执行速度:每次调用程序时,都必须扫描所有路径。因此,PATH 变量只能用于包含多个可执行文件的目录,例如“bin”或“tools”目录。 更好的方法是在注册表中创建一个正确的条目,许多程序安装程序自己这样做,顺便说一句。 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ 是去的地方。您将已经看到很多条目。AFAIK,这也将允许有两个不同的命令启动同一个程序,但在不同的工作目录或不同的属性中。 不幸的是,我还没有从 Microsoft/MSDN 中找到任何关于可以找到的参数的信息,例如RunAsOnNonAdminInstall或BlockOnTSNonInstallMode. 我们只能推测。 这也将允许您在不实际重命名可执行文件的情况下“重命名”程序(如果您更新它或它是更大套件的一部分,这可能会给您带来麻烦),并且如果您切换到另一个喜欢的应用程序,则可以顺利迁移。任务。当我出于习惯/错误输入“wmplayer”和“ACDsee32”时,我启动了 vlc 和 IrfanView。 编辑 作为参考,有this Microsoft doc about application registration。 Avery Payne 2009-05-06T05:04:55+08:002009-05-06T05:04:55+08:00 您需要设置 PATH 环境变量。您可以在“高级”选项卡的“系统”图标下的“控制面板”中找到它。单击“环境变量”按钮。出现第二个对话框,其中包含两个部分。顶部的变量显示特定于您的变量,底部的变量显示整个系统。如果您希望它只影响您,请将更改放在那里,否则将其放在底部。 yzorg 2013-08-17T09:59:54+08:002013-08-17T09:59:54+08:00 我想为这个问题添加一个现代答案(SO 网站的长尾哲学)。 PowerShell 是 Windows 上的现代 shell。Chocolatey Nuget 是一个命令行应用程序。它的标语是“apt-get for Windows”。 Chocolatey 使用的模式(从其他平台的包管理器中克隆): 程序及其所有 EXE/DLL 安装到C:\Program Files(x86)\MyCompany\MyApp. 但只使用了一个 EXE App.EXE,. 所以chocolatey不会添加...\MyCompany\MyApp到PATH中。有一个文件夹,C:\chocolatey\bin每个程序有一个 MyApp.bat 文件。每个 bat 文件都有一行运行 EXE 的完整路径: "C:\Program Files(x86)\MyCompany\MyApp\App.EXE" %* 即使你没有 Chocolatey,我也会推荐相同的模式。创建一个%USERPROFILE%\Documents\bin文件夹,然后创建 .bat 文件。在 PowerShell 中,您可以使用它Set-Alias来执行此操作,将其添加到您的默认 profile.ps1 文件中。
打开系统属性(右键单击我的电脑-> 属性)单击高级选项卡和环境变量按钮。在系统变量部分中查找路径。然后将您的程序放在该路径中列出的目录之一中,或者将安装目录添加到列表中。后者可能是更好的选择
您可以将该程序目录的路径添加到您的 PATH 环境变量中。
这就是在每个常见操作系统中使用 PATH 变量的目的。
如果你绑定到 Windows,有一个更好的方法可以做到这一点,如果你想广泛使用它:我曾经为很多程序设置它,所以我可以通过 Win-R 启动我的程序(比如 Start- >运行或在命令行上),键入可执行文件名称的几个字母,利用 MRU-List 并启动应用程序。
将这些可执行文件的所有路径添加到路径的缺点是它会减慢命令的执行速度:每次调用程序时,都必须扫描所有路径。因此,PATH 变量只能用于包含多个可执行文件的目录,例如“bin”或“tools”目录。
更好的方法是在注册表中创建一个正确的条目,许多程序安装程序自己这样做,顺便说一句。
是去的地方。您将已经看到很多条目。AFAIK,这也将允许有两个不同的命令启动同一个程序,但在不同的工作目录或不同的属性中。
不幸的是,我还没有从 Microsoft/MSDN 中找到任何关于可以找到的参数的信息,例如
RunAsOnNonAdminInstall
或BlockOnTSNonInstallMode
. 我们只能推测。这也将允许您在不实际重命名可执行文件的情况下“重命名”程序(如果您更新它或它是更大套件的一部分,这可能会给您带来麻烦),并且如果您切换到另一个喜欢的应用程序,则可以顺利迁移。任务。当我出于习惯/错误输入“wmplayer”和“ACDsee32”时,我启动了 vlc 和 IrfanView。
编辑 作为参考,有this Microsoft doc about application registration。
您需要设置 PATH 环境变量。您可以在“高级”选项卡的“系统”图标下的“控制面板”中找到它。单击“环境变量”按钮。出现第二个对话框,其中包含两个部分。顶部的变量显示特定于您的变量,底部的变量显示整个系统。如果您希望它只影响您,请将更改放在那里,否则将其放在底部。
我想为这个问题添加一个现代答案(SO 网站的长尾哲学)。
PowerShell 是 Windows 上的现代 shell。Chocolatey Nuget 是一个命令行应用程序。它的标语是“apt-get for Windows”。
Chocolatey 使用的模式(从其他平台的包管理器中克隆):
程序及其所有 EXE/DLL 安装到
C:\Program Files(x86)\MyCompany\MyApp
. 但只使用了一个 EXEApp.EXE
,. 所以chocolatey不会添加...\MyCompany\MyApp
到PATH中。有一个文件夹,C:\chocolatey\bin
每个程序有一个 MyApp.bat 文件。每个 bat 文件都有一行运行 EXE 的完整路径:"C:\Program Files(x86)\MyCompany\MyApp\App.EXE" %*
即使你没有 Chocolatey,我也会推荐相同的模式。创建一个
%USERPROFILE%\Documents\bin
文件夹,然后创建 .bat 文件。在 PowerShell 中,您可以使用它Set-Alias
来执行此操作,将其添加到您的默认 profile.ps1 文件中。