在哪里可以找到可以从cmd.exe执行的命令列表?


Answers:


3

正如其他人所指出的那样,“dir * .exe / s”会找到驱动器上的所有EXE,并假设您有权这样做,您可以直接执行所有这些EXE(只要包含绝对路径) 。

“help”命令为您提供了基本MS内置函数的列表。

但假设你想要一个真正的答案,a)一个实际命令列表b)你不需要运行完整的路径名,c)包括你的系统上的所有东西,而不仅仅是微软的工具,你需要以编程方式发现它。

我不知道如何在DOS(或CMD)中这样做,但我可以给你步骤。

  1. 对于PATH环境变量中的每个目录,
  2. 列出以PATHEXT环境变量中列出的扩展名结尾的所有文件。

键入命令时,PATH是Windows查找该命令的位置列表,PATHEXT是一个文件扩展名列表,它将附加到该命令以匹配文件。两者都是以分号分隔的列表,并且按顺序搜索它们。这是我的系统:

PATH=c:\WINDOWS\system32;c:\WINDOWS;C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;c:\Perl\bin\;c:\Python24;c:\Python24\bin;c:\WINDOWS\System32\Wbem;c:\Program Files\Common Files\GTK\2.0\bin;c:\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

你可能猜测我已经对我的系统路径进行了一些修改; 你的可能不会那么混乱。(或者不是; QuickTime和Java不是唯一坚持他们需要将自己添加到我的路径中的程序,所以你的可能还有一些意想不到的补充。)

当我执行时,比方说,

C:\> findstr

.. Windows在PATH变量中的每个条目中搜索名为“findstr”的文件(不区分大小写)。它在第一个条目中找不到该文件,因此它通过将PATHEXT中列出的扩展名附加到命令名称并检查该文件来检查所有可能的排列。首先它检查“C:\ WINDOWS \ system32 \ findstr.com”,但是没有这样的文件。接下来它检查“C:\ WINDOWS \ system32 \ findstr.exe”并找到它,这就是它运行的程序。

希望我没有尝试运行“C:\ WINDOWS \ system32 \ findstr.bat”或“C:\ bin \ findstr.com” - 如果我运行其中一个文件,那些文件就会运行:

C:\> findstr.bat
C:\> findstr.com

...但由于我只输入了“findstr”,我得到了.EXE版本。

这就是Windows在命令行上运行命令的方式。如果你想要完整的单词列表,你可以在那里输入并运行,你需要检查自己的PATH变量以查找位置,以及你自己的PATHEXT变量来查找要查找的扩展名。

C:\> set | findstr PATH
PATH=C:\...
PATHEXT=...

(如果有其他人想要使用简洁的DOS命令行来自动执行此操作,请称重!)


真是个答案。Upvoted。:)
Alex 2010年


1

在Windows Vista中,开始 - >运行 - > cmd打开cmd.exe。
我在哪里可以找到可以在那里执行的所有命令的列表?

打字

help

在命令提示符下,将为您提供cmd命令的调查,大多数是从dos天数开始的。但是,要获取可以从cmd提示符(即.exe,.com,.bat,.cmd和各种可执行文件,如.pyc等)启动的所有内容的列表,您必须执行此操作

c:\> dir *.exe,*.com,*.bat,*... /s

(这也会给你一些以.com结尾的浏览器cookie,所以忽略那些)


呃......我不认为那是你在那里的第二个命令的意思。
突破

第二个命令将列出c:上的每个可执行文件!虽然你肯定可以执行它们,但在询问“我能跑什么?”时,只有一条路径才真正相关。 - 常规可执行文件应该是给定的。
Phoshi

他问道,我引用“可以在那里执行的所有命令的列表”。我知道我也许太过字面意思了,但从技术上讲,就是那个:)不管怎样,如果你愿意的话,编辑答案。我不介意。
Rook

0

您可以在提示符下键入“help”并查看大多数内置命令(加上一些不是内置命令,但是主要命令)。

话虽这么说,有很多“可执行文件/批处理/脚本”文件,例如以.exe,.com,.cmd结尾的任何内容。

但是,我不相信无论如何都要找到它们,除非你只是在所有可执行文件中做一个目录和管道 - 但我怀疑这会有效。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.