"注册".exe,以便您可以从Windows中的任何命令行运行它

HK1*_*HK1 140 windows

如何从Windows命令窗口中的任何位置访问.exe文件?是否需要输入一些注册表项?

Chr*_*isF 88

您需要确保exe位于PATH环境变量上的文件夹中.

您可以通过将其安装到已经存在的文件夹中PATH或通过将文件夹添加到文件夹来完成此操作PATH.

您可以让安装人员执行此操作 - 但您需要重新启动计算机以确保其被拾取.

  • @KimGentes这是卸载程序的一个问题.一个好的卸载程序应该很好地整理.它没有使答案错误. (20认同)
  • 这个答案几乎总是错误的。至少它是不完整的。具体来说,这种方法适用于安装,但不适用于卸载。大多数卸载程序在卸载与此相关的应用程序时会删除整个 PATH 变量。因此,如果您编写了一个安装操作来将目录添加到 PATH,您应该使它成为一个不会被通用删除包自动卸载的自定义安装操作。然后,将该自定义安装步骤与仅从 PATH 变量中删除您的目录的卸载步骤相匹配。 (4认同)
  • 我同意..这是安装程序的问题.但由于所有安装程序都对变量执行此操作(它们不解析和提取部分注册表项或ENV VARIABLES),因此解释它似乎是谨慎的.如果一个人完全遵循指示,他们将始终遇到这个问题,这意味着,解决方案应该总是包括这个警告.没有安装包负责安装和卸载我知道的注册表项或ENV变量的部分,但如果有一些我不知道,请告诉我. (3认同)
  • SETX也很危险,因为它的长度限制比PATH变量本身要低得多,并且会截断而不是失败. (3认同)
  • [Raymond Chen 已经阐述了为什么这不好](https://devblogs.microsoft.com/oldnewthing/20110725-00/?p=10073):a) 局部问题的全局解决方案;b) PATH 有您可能达到的长度限制;c) 由于硬盘搜索空间较大,所有程序启动速度变慢;d) 卸载后很难撤消。这确实正是引入应用程序路径的目的,尽管它们仅适用于 START 命令。请参阅下面 Andreas Rejbrands 的回答并使用“START /WAIT /B your_exe”来运行您的程序。 (3认同)

And*_*and 46

您可以添加以下注册表:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\myexe.exe
Run Code Online (Sandbox Code Playgroud)

在此键中,添加包含exe文件路径的默认字符串值.

  • 这适用于Windows Shell,但不适用于命令提示符. (11认同)
  • 该键适用于从 Explorer.exe 运行,如果您尝试从 CMD.exe 运行,则找不到它。 (2认同)

dar*_*ioo 39

您必须将.exe文件的路径放入环境变量路径.转到"我的电脑 - >属性 - >高级 - >环境变量 - >路径"并通过将路径添加.exe到路径来编辑路径.

我个人更喜欢的另一个解决方案是使用RapidEE进行更平滑的变量编辑.


Ben*_*igt 28

您应该在启动程序的路径上的目录中创建批处理文件,而不是将可执行文件放入路径中的目录中.这样您就不会将可执行文件与其支持文件分开,也不会无意中将同一目录中的其他内容添加到路径中.

这样的批处理文件可能如下所示:

@echo off
start "" "C:\Program Files (x86)\Software\software.exe" %*
Run Code Online (Sandbox Code Playgroud)

  • @Johann:取出`start""`,然后从可执行文件的路径开始.另外,要在cygwin中使用,您可能需要cygwin shell脚本或符号链接.或shell别名. (4认同)

Ami*_*imi 25

Windows 10,8.1,8

打开开始菜单,

  1. 类型 Edit environment variables
  2. 打开选项 Edit the system environment variables
  3. 点击Environment variables...按钮
  4. 在那里你看到两个框,在System Variables框中找到path变量
  5. 点击 Edit
  6. 弹出一个窗口,单击 New
  7. 键入或文件的目录路径(目录表示从路径中排除文件名).exebatch
  8. 单击Ok所有打开的窗口并重新启动系统 重新启动命令提示符.

  • 使用 WinKey+R 并输入 SystemPropertiesAdvanced (6认同)
  • 这是唯一帮助我的答案。我会补充说,“重新启动系统”不是必需的。只需重新启动cmd就足够了。 (2认同)

Bev*_*van 15

假设我的 exe 是 C:\Program Files\AzCopy\azcopy.exe

命令/CMD/批处理

SET "PATH=C:\Program Files\AzCopy;%PATH%"
Run Code Online (Sandbox Code Playgroud)

电源外壳

$env:path = $env:path + ";C:\Program Files\AzCopy"
Run Code Online (Sandbox Code Playgroud)

我现在可以azcopy从任何 shell inc 命令提示符、powershell、git bash 等任何位置简单地键入和使用


Ram*_*eja 8

它非常简单,不会超过 30 秒。

例如位于 D:/Softwares/vlc/abc.exe 的名为 abc 的软件将 abc.exe 的文件夹路径添加到系统环境变量中。

我的电脑 -> 点击属性 -> 点击高级系统设置 -> 点击环境变量

在此处输入图片说明

在此处输入图片说明

单击确定。

现在您只需打开 cmd 提示符即可从任何地方启动该软件。要使用 abc.exe,只需在命令行中键入 abc。


Ben*_*nja 5

令人惊讶的是,对于 Windows 上这样一个简单的任务没有简单的解决方案,我创建了这个小 cmd 脚本,您可以使用它在 Windows 上定义别名(说明位于文件头本身):

https://gist.github.com/benjamine/5992592

这与 NPM 或 ruby​​ gems 等工具用于注册全局命令的方法几乎相同。


Era*_*mus 5

Windows 中类似 Bash 的简单别名

为了在 Windows 中为未自动添加到路径的应用程序获取类似于 bash 的全局别名,而无需手动将每个应用程序添加到路径中,这是我想出的最干净的解决方案,它对系统进行的更改最少,并且具有最多的更改后期定制的灵活性:

“安装”您的别名路径

mkdir c:\aliases
setx PATH "c:\aliases;%PATH%"
Run Code Online (Sandbox Code Playgroud)

添加您的别名

在新的 Shell 窗口中打开

要启动C:\path to\my program.exe,请传入所有参数,在新窗口中打开它,创建c:\aliases\my program.bat包含以下内容的文件(有关启动命令的详细信息,请参阅NT 启动命令):

@echo off
start "myprogram" /D "C:\path to\" /W "myprogram.exe" %*
Run Code Online (Sandbox Code Playgroud)

在当前 Shell 窗口中执行

首先C:\path to\my program.exe,传入所有参数,但在同一窗口中运行它(更像 bash 的操作方式),创建c:\aliases\my program.bat包含以下内容的文件:

@echo off
pushd "C:\path to\"
"my program.exe" %*
popd
Run Code Online (Sandbox Code Playgroud)

在当前 Shell 窗口 2 中执行

如果您根本不需要应用程序更改当前工作目录来操作,您只需将符号链接添加到别名文件夹内的可执行文件即可:

cd c:\aliases\
mklink "my program.exe" "c:\path to\my program.exe"
Run Code Online (Sandbox Code Playgroud)


Aka*_*ppa 5

添加到 PATH,步骤如下(Windows 10):

  1. 在搜索栏中输入“环境...”,然后选择编辑系统环境变量,这将打开“系统属性”窗口
  2. 单击环境变量...按钮
  3. 在“环境变量”选项卡中,双击“系统变量”部分中的“路径”变量
  4. 通过双击空行并粘贴路径,将包含 .exe 的文件夹的路径添加到路径中。
  5. 单击“确定”并退出。打开一个新的命令提示符并从任何文件夹中点击命令,它应该可以工作。