我如何替换我的命令提示符?

我如何替换我的命令提示符?

早上好,
这是不是重复的问题如下这个:我并不想打开命令提示符并用其他内容替换提示符的文本:
我刚刚下载了conEmu一个控制台模拟器,我想用cmd.exe它来替换命令提示符程序()。

以下是一些历史:我有一个应用程序,它打开命令提示符,向该提示符写入一些内容,并将这些内容写入日志文件。如果出现问题,我可以从命令提示符或日志文件中读取它。
现在我面临的情况是:应用程序启动,打开命令提示符,写入一些内容然后关闭。关闭时,命令提示符也会关闭。

我从以前的经验中知道,这可以处理,cmd.exe用更持久的命令行工具(例如conEmu,我刚刚下载的那个)代替。
问题是:我不知道应该如何配置我的 Windows-10 机器才能打开conEmu而不是cmd.exe

有人知道吗?
提前谢谢

答案1

安装 ConEmu 时,用户通常希望将cmdpowershell终端替换为两者的默认终端(可能还有其他)

  • 你可能会发现这很有用出口我使用的高度定制的配置文件,其中启用了以下选项
    (设置 → 导入... → 保存设置)

  1. 打开设置WinKey++AltP
  2. 一般的注入ConEmuHk.dll到 ConEmu 选项卡中启动的进程中
  3. 一体化默认期限→ 勾选方框:
    1. 强制 ConEmu 作为控制台应用程序的默认终端
    2. 在操作系统启动时注册
    3. 攻击模式
    4. 选修的:
      1. 如果可用,使用现有的 ConEmu 窗口
      2. 挂钩的可执行文件或窗口类名称列表
        (通常这不是必需的,但是如果应用程序的控制台窗口没有在 ConEmu 中打开,请添加应用程序的可执行文件)
  4. 保存设置

由于 PowerShell 有自己的配色方案,如果不进行自定义,它在终端中通常看起来不太正确,尤其是当无论命令输出如何都想要相同的背景颜色时,所以我建议还添加使用的 PowerShell 配置文件:

#

#===========================================================
        ##::[[--- Powershell PS1 Profile ---]]::##
#===========================================================

  # $env:UserProfile\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
  # %UserProfile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
  
# ANSI:
  $ESC                            = [char]27

# Colors
#-----------------------------------------------------------
$PD                               = $($Host.PrivateData)

$Host.UI.RawUI.BackgroundColor    = ($bckgrnd = 'Black')
$Host.UI.RawUI.ForegroundColor    = 'Gray'

$PD.ErrorForegroundColor          = 'Red'
$PD.ErrorBackgroundColor          = $bckgrnd

$PD.WarningForegroundColor        = 'Magenta'
$PD.WarningBackgroundColor        = $bckgrnd

$PD.DebugForegroundColor          = 'Yellow'
$PD.DebugBackgroundColor          = $bckgrnd

$PD.VerboseForegroundColor        = 'Green'
$PD.VerboseBackgroundColor        = $bckgrnd

$PD.ProgressForegroundColor       = 'Yellow'
$PD.ProgressBackgroundColor       = $bckgrnd


# Terminal
#-----------------------------------------------------------
Function set-prompt {
  Param (
    [Parameter(Position=0)]
    [ValidateSet("Default")]
    $Action
  )

  switch ($Action) {
    "Default" {
      Function global:prompt {
        if (test-path variable:/PSDebugContext) { '[DBG]: ' }
          write-host " "
          write-host ("$ESC[48;2;40;40;40m$ESC[38;2;170;210;0m$(Get-Location) $ESC[0m $ESC[0m")

        if ( $host.UI.RawUI.WindowTitle -match "Administrator" ) {
          $Host.UI.RawUI.ForegroundColor = 'Red'
          $(if ($nestedpromptlevel -ge 1) {
            write-host ('PS $$ ') -ForegroundColor Red -NoNewLine
          } else {
            write-host ('PS $ ') -ForegroundColor Red -NoNewLine
          })
        } else {
          $(if ($nestedpromptlevel -ge 1) {
            write-host ('PS $$ ') -ForegroundColor Blue -NoNewLine
          } else {
            write-host ('PS $ ') -ForegroundColor Blue -NoNewLine
          })
        }
        return " "
      }
    }
  }
}

set-prompt Default
  • 第 10 - 33 行:指定格式字符和提示颜色
  • 第 36 - 72 行:指定提示布局,常规提示和管理提示使用不同的颜色

相关内容