在 Windows 上执行 Unix 类型的“定位”?

在 Windows 上执行 Unix 类型的“定位”?

使用 Windows CLI (cmd),如何找到他知道部分名称的文件?例如,每个 Windows 工作站都在不同位置安装 javac,如何从 Windows CLI (cmd) 找到它?

谷歌搜索后,我只看到使用 Windows 资源管理器(文件管理器)GUI 或下载一些免费软件应用程序的提及。Windows 真的没有内置定位命令吗?服务器版本有吗?我有不是想要安装 cygwin 或其他任何东西,这些通常不是我的机器。

答案1

您应该能够做您需要做的事情dir

dir [filename] /s

将 [filename] 替换为您要查找的文件名,您应该能够使用通配符。/s 使其搜索子目录,因此如果需要,您可以从 C: 的根目录中开始并让它检查整个驱动器。

答案2

没有人谈论“where”命令?它在当前环境的PATH中搜索可执行文件。

where <executable>

c:\ where
The syntax of this command is:

WHERE [/R dir] [/Q] [/F] [/T] pattern...

Description:
    Displays the location of files that match the search pattern.
    By default, the search is done along the current directory and
    in the paths specified by the PATH environment variable.

答案3

结论dir [filename] /s并且where <executable>似乎不等同于 Unix locate

这个问题有些模糊。

您想要定位一个文件(在 OP 正文中说明),但您还想要一个“定位类型”命令/应用程序(在标题中说明)。有一个微妙的考虑因素具有重大影响。您可以使用两种不同的方法进行定位:

  1. 每次搜索直接搜索目标树结构(很慢)。

  2. 首先创建目标树结构的数据库(可能很耗时),然后通过搜索数据库进行定位(非常快)。数据库必须定期更新才能获得良好的搜索效果。参见http://en.wikipedia.org/wiki/Locate_%28Unix%29

Unixlocate属于“类型 2”,但根据你的原帖主体,这两种方法都可以。此外,你还特别询问了 CLI 选项。

我在下面列出了一些选项(这里的答案还有其他选项),并指定它们是 CLI / GUI、类型 1 / 2,并且我添加了一些评论。

  1. http://locate32.cogit.net/ (已经指出约翰·T然后通过奇库)。GUI,类型 2。有便携版本。使用和配置非常方便。与 Unix 非常相似locate(我使用过,非常喜欢)。
    笔记:习惯了 Unixupdatedb更新数据库需要很长时间(当然,这取决于扫描树的大小),我发现locate32 极其快。我不知道它怎么能工作得这么快。

  2. http://sourceforge.net/projects/winlocate/ CLI,类型 2。

  3. dir [文件名] /sWindows 的解决方案.CLI,类型 1。

  4. ...的英文翻译OldWolf 的解决方案.CLI,类型 1。

  5. http://gnuwin32.sourceforge.net/packages/findutils.htm CLI,类型 2。

  6. 一切 GUI,类型?。

答案4

我只是得到了一个定位 Windows 程序。您只需按照自述说明将 .dll 文件和 .exe 复制到 system32。

替代方案包括将程序路径添加到环境变量 PATH。

如果您正在寻找“类似”定位的东西,那么这个想法就是在 Windows 上进行定位。:)

相关内容