gpt4 book ai didi

powershell - 在批处理文件中运行 powershell 命令后,图形 CLI 发生了变化

转载 作者:行者123 更新时间:2023-12-05 02:34:40 24 4
gpt4 key购买 nike

在 PowerShell 代码之后,批处理文件 CLI 有点不同,我想改回来

可以看到字体变了,颜色也变了一点

在 PowerShell 命令之前

enter image description here

在 PowerShell 命令之后

enter image description here

@echo off
echo +==================================================+
echo ^|**********************Login***********************^|
echo +==================================================+
echo.
echo Login
setlocal DisableDelayedExpansion
set /p input=Username:
::powershell command
set "psCommand=powershell -Command "$pword = read-host 'Enter password' -AsSecureString ; ^
$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); ^
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
for /f "usebackq delims=" %%p in (`%psCommand%`) do set passwords=%%p
)
if %passwords% == 123 goto sucess
exit
END LOCAL
:sucess
cls
echo welcom back %Username%!
echo :)
pause
exit

我看到了不同

在 Powershell 命令之前

enter image description here

在 Powershell 命令之后

enter image description here

最佳答案

我认为问题源于 chcp 65001 生效,即 UTF-8 代码页。

随着代码页 65001 生效,powershell.exe - CLI Windows PowerShell - 确实不幸地表现出您描述的症状:当前选择的字体已更改为旧版光栅字体,字形(字符)支持有限。

以下命令演示了问题(从 cmd.exe 运行):

:: Unexpectedly switches to a raster font.
:: Note: No longer occurs in PowerShell (Core) 7+, with pwsh.exe
chcp 65001 & powershell -noprofile -c "'hi'"

您有以下选项:

  • Windows Terminal 中运行批处理文件, 可用 in the Microsoft Store而不是在旧的控制台窗口中。

  • 您可以暂时切换到 65001 以外的代码页,假设它仍然支持您使用的所有字符需要;应用于上面的例子:

    chcp 437 & powershell -noprofile -c "'hi'" & chcp 65001
  • 您可以从 Windows PowerShell 切换到 PowerShell (Core) 7+ ,按需安装的跨平台后继版本。它的CLI , pwsh.exe,不再出现问题。

关于powershell - 在批处理文件中运行 powershell 命令后,图形 CLI 发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70729614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com