早上好,
这是不是重复的问题如下这个:我并不想打开命令提示符并用其他内容替换提示符的文本:
我刚刚下载了conEmu
一个控制台模拟器,我想用cmd.exe
它来替换命令提示符程序()。
以下是一些历史:我有一个应用程序,它打开命令提示符,向该提示符写入一些内容,并将这些内容写入日志文件。如果出现问题,我可以从命令提示符或日志文件中读取它。
现在我面临的情况是:应用程序启动,打开命令提示符,写入一些内容然后关闭。关闭时,命令提示符也会关闭。
我从以前的经验中知道,这可以处理,cmd.exe
用更持久的命令行工具(例如conEmu
,我刚刚下载的那个)代替。
问题是:我不知道应该如何配置我的 Windows-10 机器才能打开conEmu
而不是cmd.exe
。
有人知道吗?
提前谢谢
答案1
安装 ConEmu 时,用户通常希望将cmd
和powershell
终端替换为两者的默认终端(可能还有其他):
- 你可能会发现这很有用出口我使用的高度定制的配置文件,其中启用了以下选项
(设置 → 导入... → 保存设置)
- 打开设置:++AltP
- 一般的→注入
ConEmuHk.dll
到 ConEmu 选项卡中启动的进程中 - 一体化→默认期限→ 勾选方框:
- 强制 ConEmu 作为控制台应用程序的默认终端
- 在操作系统启动时注册
- 攻击模式
- 选修的:
- 如果可用,使用现有的 ConEmu 窗口
- 挂钩的可执行文件或窗口类名称列表
(通常这不是必需的,但是如果应用程序的控制台窗口没有在 ConEmu 中打开,请添加应用程序的可执行文件)
- 保存设置
由于 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 行:指定提示布局,常规提示和管理提示使用不同的颜色