【问题标题】:Is there a better Windows command-line shell? [closed]有更好的 Windows 命令行 shell 吗? [关闭]
【发布时间】:2010-10-17 21:40:06
【问题描述】:

CMD.EXE 给我带来了很多问题。我安装了 Cygwin 并定期使用 bash,我也有 mSysGit 附带的 mingwin bash shell,但有时我确实需要从 Windows shell 运行。

是否有 Windows shell 的替代品:

  • 是否有持久的命令行历史记录,在我关闭会话后的下一个会话中可用? (如在 bash HISTFILE 中)
  • 还记得我刚才在哪个目录中以便可以在两个目录之间切换吗? (如 bash cd -)

(或者有没有办法在 CMD.EXE 中启用这些功能?)

我看到有人问过a better windows shell before,但他们问的是目前对我来说优先级较低的剪切和粘贴。杀死我的不是控制台,而是命令行解释器。

【问题讨论】:

  • Powershell 不是我的问题的答案。正如我在 cmets 中对 Seb 的回答所指出的那样,Powershell 没有持久的命令行历史记录。我不是要求总体上更好的东西,我要求的是具有特定要求的东西。删除了 powershell 标签,因为这不是一个 powershell 问题。
  • 我使用ConEmu,非常好的命令行替换。
  • @jamescampbell 不是控制台,而是外壳。我也使用 ConEmu,但它是一个控制台,而不是一个 shell。

标签: windows shell cmd


【解决方案1】:

尝试控制台2: http://sourceforge.net/projects/console/

我喜欢

【讨论】:

  • 现在可以使用了吗?前段时间我看了看,它是地狱般的越野车......
  • 没有解决我遇到的任何问题。正如我所说,我不是在寻找更好的控制台。我正在寻找更好的外壳。
  • console2 只是 UI 前端。废话,废话!,一个命令提示符
  • 我喜欢这些选项卡,但我仍然不知道如何从中选择和复制文本。如果它确实具有该功能,他们仍然会因为难以弄清楚而失败。
【解决方案2】:

微软刚刚发布了Powershell。 (大约 2 年前)

我已经下载了;没怎么尝试,但似乎是一个不错的工具。

【讨论】:

  • 这似乎与 Powershell 接近持久历史记录一样接近:microsoft.com/technet/scriptcenter/topics/msh/cmdlets/…
  • “刚刚发布”?已经上市2年多了!!
  • 也许他的意思是 PowerShell 2,CTP 3 是在 12 月发布的。我很期待 V2。
  • 我的意思是稳定版 1.0! :)
  • 我很高兴看到缓冲区更大了 :)(能够向上滚动更多行)。
【解决方案3】:

pushd 和 popd 可用于在目录之间导航。

c:>推送窗口 c:\Windows>popd c:\

【讨论】:

  • 一直在用这个,但是不能切换。
【解决方案4】:

然后是 PowerShell!没试过,但我听说过很多关于它的好消息。

【讨论】:

    【解决方案5】:

    PowerShell,我会说。它是 Microsoft 用于命令行管理的新官方 shell。

    我自己将它用于开发任务,并且喜欢它。它使您可以灵活地直接在命令行上与 .NET 框架类进行交互,这非常强大。

    【讨论】:

      【解决方案6】:

      我也在使用 Powershell。这是一个很棒的、类似 linux shell 的但面向对象的可扩展框架。不仅对系统管理员很酷,对开发人员也很酷(构建过程等)。 Powershell 摇滚 bash 或其他 linux 竞争对手:)

      主要冒险:

      • 可扩展,支持 .NET 语言
      • .NET 对象的使用(日期时间、文件等)
      • 简单明了的语法
      • 远程处理
      • 调试
      • 可步进的管道
      • ...

      更多来自这里:

      http://blogs.msdn.com/powershell/default.aspx

      http://windowsteamblog.com/blogs/windowsvista/archive/2006/11/14/it-forum-day-one-windows-vista-and-windows-powershell.aspx

      http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx

      【讨论】:

        【解决方案7】:

        当您以 PowerShell 方式做事时,PowerShell 工作得很好。例如,当您想处理 .NET 应用程序和 Windows 文件时。它非常适合编写脚本,因为语法比 Bash 中的要好得多...

        但是当您想使用一些典型的 UNIX 应用程序时,当 PowerShell 将所有 LF 行结尾转换为 CRLF 时,您很容易遇到麻烦(甚至不用考虑管道二进制文件)。

        只是我的经验。

        【讨论】:

          【解决方案8】:

          我一直很喜欢4NT(好久没用了)。

          它是一个增强的 windows 命令解释器,并且大部分是向后兼容的(意味着您可以运行普通的 windows 批处理文件)。不使用它的唯一原因是它不像默认的 command.exe 那样随 Windows 一起提供。

          与默认的 windows 命令行解释器相比,它具有更好的流控制机制。所有标准的 windows 命令行工具都可用,但带有额外的选项和参数。

          基本上 CMD.exe 应该是这样的。

          更新:看起来它不再叫 4NT,而是 TakeCommand: http://jpsoft.com/products.htm

          【讨论】:

          【解决方案9】:

          我使用 cygwin。这是 Windows 的 posix 实现。因此,您可以在 Windows 上运行类似 unix 的程序。默认终端是bash,比windows cmd高级很多。

          【讨论】:

          • 我也使用 Cygwin,正如我在原始问题中指出的那样。 ;) 但它并不能满足增强 cmd.exe 的所有需求,尽管它肯定更胜一筹。只是它有时不如 Windows 最初的劣质外壳。
          【解决方案10】:

          另一个出色的解决方案是“Clink”,它通过持久的历史记录和更多类似 BASH 的功能来增强 CMD.exe。只需安装它,然后正常打开 CMD。 见:http://code.google.com/p/clink/

          或者,如果您真的希望“cd -”能够将您带到上一个目录,请按照 Wouter 和 Peter 的说明从 http://jpsoft.com 安装“TCC/LE”免费版本。

          【讨论】:

          • 叮当声似乎是最好的...
          【解决方案11】:

          PyCmd 符合您的两个要求!它建立在 cmd.exe 之上...

          1. 命令历史记录在 PyCmd 会话中是持久的
          2. 最近访问过的目录的历史记录(Alt-Left/Right/D 在空行上)

          这里有功能列表http://sourceforge.net/projects/pycmd/files/pycmd/0.8/

          【讨论】:

            【解决方案12】:

            其他人已经提到过 Powershell 和 4NT,两者都是比 CMD 更好的解决方案,以及它所有晦涩的语法、缺乏文档以及通常令人惊讶的无法完成几乎任何您可能想要使用它的任务:)

            • 4NT 现在是Take Command GUI 文件管理套件的一部分,但所有者只提供了自己的外壳部分,它现在称为 TCC/LE,现在也是免费的!对于大多数人来说,我会说要使用它 - 这是最简单的学习曲线,因为它具有与 CMD 大部分兼容的语法,拥有大量在线资源并且能够完美地完成 80% 的文件系统任务。

              TCC/LE download

            • 对于需求比较模糊、需要进行大量管理或需要更大灵活性的人,请尝试 Powershell - 这是一个陡峭的初始学习曲线,但它在内部非常一致,一旦您了解了可以访问和操作的基础知识99.9% 的 Windows 使用相同的工具和方法处理的所有事情,甚至通过网络在其他机器上执行它。即使学习基础知识(排序、选择、% 和 ?)已经比 CMD 好...

              PowerShell Owner's Manual

              PowerShell Examples

            • 如果您更倾向于技术,那么我会考虑 IPython——它的核心是用于编写和执行 Python 代码的控制台,但它也可以非常方便地充当外壳(和任务管理系统)——它有书签,别名,代码/文件的制表符补全,可以混合代码和 shell 命令,例如files=!dir *.txt 保存 dir *.txt 的输出,可配置的输入和/或输出日志记录,可以重复过去的命令块,导出它们或创建宏,并具有可以对其进行更多自定义的扩展。

              IPython as a shell

              绝对不适合胆小的人,但如果您了解 Python,这是一个非常强大的环境!

            【讨论】:

              猜你喜欢
              • 2010-09-05
              • 2010-09-05
              • 2014-07-21
              • 2018-03-10
              • 1970-01-01
              • 1970-01-01
              • 2010-09-08
              • 2012-12-28
              相关资源
              最近更新 更多