32

出于某种原因,Windows 命令提示符是“特殊的”,因为您必须转到属性对话框以水平调整它的大小,而不是像其他所有应用程序一样仅拖动窗口的一角。不出所料,这个功能也进入了 PPP-Powershell —— 有没有办法通过命令提示符替换或 Windows 黑客来解决这个问题?

4

8 回答 8

31

2019 年更新:

2016 年更新:

  • Windows 10 的默认控制台 UI 具有更多功能,包括自由调整大小、透明度等(包括 cmd 和 powershell)
  • 我现在使用ConEmu (此处为演练),它具有许多功能,包括选项卡和拆分窗格。
  • 其他选项包括Cmder(内置附加工具)和ConsoleZ(Console2 的一个分支)。
  • 控制台似乎不再更新
于 2008-09-30T17:02:52.500 回答
12

我不知道这是否是您想要的:调整 Powershell 控制台窗口的大小。如果是这样,我不久前得到了这个:只需输入:resize并使用箭头键调整宽度和高度。

##
## Author   : Roman Kuzmin
## Synopsis : Resize console window/buffer using arrow keys
##

function Size($w, $h)
{
    New-Object System.Management.Automation.Host.Size($w, $h)
}

function resize()
{
Write-Host '[Arrows] resize  [Esc] exit ...'
$ErrorActionPreference = 'SilentlyContinue'
for($ui = $Host.UI.RawUI;;) {
    $b = $ui.BufferSize
    $w = $ui.WindowSize
    switch($ui.ReadKey(6).VirtualKeyCode) {
        37 {
            $w = Size ($w.width - 1) $w.height
            $ui.WindowSize = $w
            $ui.BufferSize = Size $w.width $b.height
            break
        }
        39 {
            $w = Size ($w.width + 1) $w.height
            $ui.BufferSize = Size $w.width $b.height
            $ui.WindowSize = $w
            break
        }
        38 {
            $ui.WindowSize = Size $w.width ($w.height - 1)
            break
        }
        40 {
            $w = Size $w.width ($w.height + 1)
            if ($w.height -gt $b.height) {
                $ui.BufferSize = Size $b.width $w.height
            }
            $ui.WindowSize = $w
            break
        }
        27 {
            return
        }
    }
  }
}
于 2008-10-09T16:34:22.233 回答
3

如果您不介意安装 cygwin,您可以将它与 xterm 或 rxvt 一起使用。您还可以使用 Bash 作为 shell,而不是更好的 cmd.exe。

于 2008-09-30T17:05:23.197 回答
3

这不是您正在寻找的,但我解决它的方法是使用 cygwin 的无根 X-Windows 模式和 XTerms。比起 Windows 的 env,我更喜欢 unix 命令行环境,而且 XTerm 窗口的行为与任何其他窗口一样。

至于直接替换,快速谷歌搜索显示这些:

我还没有尝试过,所以我不确定他们是否有你想要的东西,但他们可能值得一试。

于 2008-09-30T17:06:32.757 回答
2

PowerShell v2.0 附带一个交互式 shell,称为 PowerShell 集成脚本环境 (ISE)。这不是很棒,但它通常比控制台子系统更好。

好的

  • 包括一个 PowerShell 脚本编辑器,具有着色功能

  • 提示时将着色作为一种类型

  • 我可以将多个 PowerShell 会话(包括远程会话)作为选项卡。

  • ISE 支持 PowerShell,因此我可以使用 PowerShell 对其进行操作和扩展。例如,请参阅“IsePack”,它添加了大量功能,包括复制为 HTML。

  • 可以轻松缩放文本

  • 常规的 Windows 调整大小、光标导航、选择、复制、粘贴、字体等。

坏的

  • 交互式控制台应用程序阻塞等待输入,从而挂起。

  • 检测其标准 IO 是否被重定向的控制台应用程序会认为是这样,因此行为异常。最糟糕的是 TFS 的 tf.exe。例如,'tf submit' 将在没有提示的情况下提交,即使提示是 GUI,而不是 CLI。

  • 开箱即用的有限功能。很明显,他们想要制作更丰富的 PowerShell IDE,但没有。

于 2010-08-22T04:00:08.660 回答
2

事后的方式,但在此期间情况有所改善。ConEmu是高度可配置的,可以水平和垂直调整大小。当窗口调整大小时,它有一些奇怪的(无论如何对我来说)调整字体大小的行为。这里有一些关于它的讨论。Scott Hanselman写过关于它的文章,包括与 FarManager 的集成。

于 2012-10-29T03:36:41.783 回答
0

您可能会考虑安装FAR。它是一个出色的文本模式文件管理器等等。它也可以通过拖动窗口的角来调整大小:)

于 2008-09-30T17:04:09.080 回答
0

如果您设置属性“布局/屏幕缓冲区大小/宽度”,则在出现提示时,选择“修改启动此窗口的快捷方式”,它将记住缓冲区宽度。然后,当您启动另一个命令提示符时,它将是例如原来的 80 宽,但您现在可以将其拉伸到您设置缓冲区宽度的任何值。

命令提示符不会在当前窗口宽度处换行,只会在缓冲区宽度处换行。因此,如果您将缓冲区宽度设置为 120,但窗口只有 80 宽,则行将在 120 处换行,您必须滚动才能读取超过 80 的字符。

于 2008-10-20T06:03:49.133 回答