如何使用RUN中的特定窗口大小启动PowerShell?

时间:2017-04-08 15:57:14

标签: windows powershell

如何从" RUN"启动PowerShell具体窗口大小?是否有任何争论,如" -size:100x100"。可以使用RUN,还是有其他方法来运行给定大小的程序窗口?

1 个答案:

答案 0 :(得分:15)

从Windows Run对话框中:

以下命令在控制台窗口中以默认大小启动PowerShell,然后然后将窗口大小调整为100列x 50行:

powershell -noexit -command "[console]::WindowWidth=100; [console]::WindowHeight=50; [console]::BufferWidth=[console]::WindowWidth"

注意:powershell -noexit -command "mode con cols=100 lines=50"原则上有效,但有一个不幸的副作用是你丢失了任何回滚缓冲区(缓冲区高度设置为窗口高度)。功能

该命令使用[console]System.Console).NET类型来设置窗口宽度和高度,另外将缓冲区宽度设置为与< em> window 宽度,以确保不会出现水平滚动条。

从现有控制台窗口:

如果从现有命令提示符或PowerShell控制台运行上述命令,则新的PowerShell会话将在当前窗口中启动,因此会调整当前窗口的大小。<登记/> 以下是如何打开窗口

    来自命令提示符的
  • cmd.exe):使用start

    start powershell -noexit -command "[console]::windowwidth=100; [console]::windowheight=50; [console]::bufferwidth=[console]::windowwidth"
    
  • 来自PowerShell控制台窗口的
  • :使用Start-Process(请注意参数列表周围的单引号):

    start-process powershell '-noexit -command "[console]::windowwidth=100; [console]::windowheight=50; [console]::bufferwidth=[console]::windowwidth"'
    

如果您不想在之后调整窗口,请使用默认大小打开

上面的命令在创建新窗口后使用默认大小运行,这可能会造成视觉上的破坏。

为防止这种情况,您有两种选择:

  • 创建一个定位powershell.exe的快捷方式文件,配置其属性以设置所需的大小,然后运行快捷方式文件({{1打开窗口。

  • 根据自己的喜好更改默认窗口大小,但请注意,这会适用于所有仅以可执行文件名(或路径):

    • 交互:

      • 赢取+ R 并仅提交*.lnk

      • 打开新窗口的系统菜单,选择powershell并根据需要配置窗口大小。
        以相同方式启动的未来窗口将具有相同的大小。

    • 编程:

      • 控制台窗口属性存储在Properties的注册表中,HKEY_CURRENT_USER\ConsoleREG_DWORD包含窗口大小,WindowSize包含缓冲区大小:

      • ScreenBufferSizeHKEY_CURRENT_USER\Console)包含整体默认值。

      • 子项(例如HKCU:\Console)包含特定可执行文件/窗口标题的替代。

        • 重要:这些设置适用于通过快捷方式文件(%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe)启动的控制台窗口;后者动态继承.lnk的整体控制台默认值 - 除了Windows 10上的HKEY_CURRENT_USER\Console(不确定Windows 8 / 8.1) - 除了稍后通过​​{覆盖的值{1}}对话框,直接保存在文件
      • 子键从其父级继承值,这会使子键的设置值复杂化 - 请参阅下面的示例。

以编程方式设置CodePage窗口大小默认值:

以下PSv5 +代码段将Properties - 启动的控制台窗口的默认窗口大小设置为100列50行。

请注意,屏幕缓冲区继承从直接存储在powershell.exe中的整体默认设置,这会增加复杂性。

powershell.exe