在 Windows 上,从“cmd.exe”到“dir”程序的路径是什么?

在 Windows 上,从“cmd.exe”到“dir”程序的路径是什么?

这个问题很有趣,因为通常我会where.exe在 Windows 上使用 来查找路径上程序的路径。但是,where有一个选项dir/r可以递归搜索路径。我不知道是否有模式或选项可以where正确插入dir或什么?它返回INFO: Could not find files for the given pattern(s).。我想知道 是否dir内置在 dll 或某个地方?无论如何,我不知道它在哪里。我有一个与 MinGWdir不同的程序。但那不是原生的 Windows程序。dir.exeC:\MinGW\msys\1.0\bin\dir.exedir

几个 PowerShell 单行命令仅返回空值。

PS> (Get-Command dir).Source

PS> Get-Command -Name dir

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           dir -> Get-ChildItem

https://stackoverflow.com/questions/62270559/where-is-programs-path-for-powershell-command

我还想知道这个地点是否出于安全目的而被隐藏,或者dir它是否仅仅是如此古老和不重要,以至于仅仅存在于记忆中,或者别的什么?

答案1

该程序的路径是什么dir

它没有。

dir是 shell 内部的几个命令之一cmd

完整列表请访问内部命令 - Windows CMD - SS64.com包括:

ASSOCBREAK,,,,,,,,,,,,,,,,,,,,,,,,,,, CALL(Vista及以上CD/CHDIR版本) ,,,,,,,,,,,,,,,,,,,,,,,,,,​​​​​​​​ ​​​​​ ​​​​​​​ ​​​​​​​ ​​​​CLSCOLORCOPYDATEDELDIRDPATHECHOENDLOCALERASEEXITFORFTYPEGOTOIFKEYSMD/MKDIR, MKLINKMOVEPATHPAUSEPOPDPROMPTPUSHDREMREN/RENAMERD/RMDIRSETSETLOCALSHIFTSTARTTIMETITLETYPEVERVERIFYVOL

...

系统可能有一个同名的内部命令和一个外部命令。如果您调用了一个命令DATE.exe并希望优先运行该命令而不是内部DATE命令,请使用文件的完整路径名,例如C:\utils\date.exe,即使您当前的目录是C:\utils\

dir因此,在您的情况下,您可以使用完整路径C:\MinGW\msys\1.0\bin\dir.exe或运行 MingW 终端来运行 MingW 版本cmd(然后dir将运行 MingW 版本)。

请注意,正如您所注意到的,PowerShell已经定义了一个dir别名,以便用户可以在 PowerShell 中运行“dir”命令。

我还想知道这个地点是否出于安全目的而被隐藏,或者dir它是否仅仅是如此古老和不重要,以至于仅仅存在于记忆中,或者别的什么?

它本质上位于内存中,但只有在cmd加载 shell 时才可以通过键入 来访问dir。所有其他内部命令也是如此。

答案2

显然dir(以及许多其他)是内置的cmd.exe

该命令通常作为命令行解释器(shell)中的内部命令实现。

https://en.wikipedia.org/wiki/Dir_(命令)

COMMAND.COM 是 MS-DOS、Windows 95、Windows 98 和 Windows Me 的默认命令行解释器。对于 DOS,它也是默认用户界面。它还有一个额外的作用,即作为启动后通常运行的第一个程序(init 进程),因此负责通过运行 AUTOEXEC.BAT 配置文件来设置系统,并且是所有进程的祖先。

https://en.wikipedia.org/wiki/COMMAND.COM

命令提示符,也称为 cmd.exe 或 cmd,是 OS/2、[1] eComStation、ArcaOS、Microsoft Windows(Windows NT 系列和 Windows CE 系列)和 ReactOS[2] 操作系统的默认命令行解释器。

https://en.wikipedia.org/wiki/Cmd.exe

相关内容