【问题标题】:Find a program and run it through command prompt找到一个程序并通过命令提示符运行它
【发布时间】:2013-06-27 13:26:30
【问题描述】:

我希望能够仅从其名称中找到我记得的(第三方)程序的 exe 的位置。 (比如 photoshop.exe)这可能吗?

就像你可以调用taskmrg.exe一样

【问题讨论】:

  • taskmgr 仅在应用程序正在运行时才能工作。如果应用程序没有运行,您将不得不进行完整的文件系统搜索。
  • 您可以从命令行运行taskmgr.exe,因为它位于系统PATH 中的某个位置。 Photoshop 可能不会出现在 PATH 中。

标签: windows batch-file cmd command directory


【解决方案1】:

试试这个找到:

dir /s c:\photoshop.exe

..也可以运行:

for /f "delims=" %a in ('dir /b /a-d /s "c:\photoshop.exe"') do "%~fa"

【讨论】:

  • 这将永远在整个驱动器中搜索每个名为 photoshop.exe 的文件。每次运行批处理文件时,都会对驱动器进行几分钟的搜索,并且可能返回一个以上文件的列表。肯定不是一个好的解决方案。 (不反对,只是评论。)
  • @KenWhite 如果您的计算机太慢,您为什么要考虑否决投票?我需要给你买一个新的吗? :)
  • 我特别说我投反对票,所以我不确定你为什么在这里粗鲁。这是一个糟糕的解决方案,但技术上它会起作用。有时,即使是坏主意,坏主意也会碰巧奏效。
  • @KenWhite 我粗鲁(直到现在)。顺便提一句。我知道我的回答的重要性。如果你知道更好的,不要犹豫把它放在这里。解决这个问题的最好方法是使用某种数据库/索引应用程序。
  • @KenWhite 我也看到了幽默而不是粗鲁——但有时文字会被误解。 FWIW 解决方案也是我对这个问题的回答(使用 /b),如果 OP 想要在测试第一部分后启动它,那也没关系。
【解决方案2】:

是的,您当然可以这样做,但它需要在硬盘分区的每个文件夹中递归搜索文件。

另一种方法是在 PATH 环境变量中添加包含您要执行的 .exe 的文件夹,但不建议将您拥有的每个程序都添加到 PATH 中。 (它的大小应该保持很小)。

【讨论】:

    【解决方案3】:

    这是dos中FIND命令的语法。

    http://www.computerhope.com/findhlp.htm

    【讨论】:

      【解决方案4】:

      taskmgr.exe 可以在命令提示符下从任何路径执行,因为它的位置位于 %PATH% 变量中列出的目录中。您可以潜在地向此变量添加您希望的任何其他文件夹,以使其中的任何应用程序遵循相同的行为。警告:某些应用程序无法正常运行,除非从其主目录中启动。

      通过 GUI 编辑 %PATH% 变量因 Windows 版本而异,或者您可以从命令提示符进行编辑。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-14
        • 1970-01-01
        相关资源
        最近更新 更多