PowerShell';q';不破坏';更多';过程

PowerShell';q';不破坏';更多';过程,powershell,console,Powershell,Console,当我执行类似于man gci-detailed的操作时,我会得到完整的帮助文件,并将其传送到more,我可以一页一页地滚动。我一直都知道,按q会将此操作中断回提示符。在某些系统上,此操作有效(按q会中断more操作)。在其他系统(具有相同的PowerShell设置、相同的模块、配置文件等)上,此操作完全失败,q不起任何作用(!)。即使我启动了powershell.exe-noProfile,也会发生这种情况 有人知道是什么导致了这一切吗?我原以为这可能是PSReadLine的问题,但我也尝试过删

当我执行类似于
man gci-detailed
的操作时,我会得到完整的帮助文件,并将其传送到
more
,我可以一页一页地滚动。我一直都知道,按
q
会将此操作中断回提示符。在某些系统上,此操作有效(按
q
会中断
more
操作)。在其他系统(具有相同的PowerShell设置、相同的模块、配置文件等)上,此操作完全失败,
q
不起任何作用(!)。即使我启动了
powershell.exe-noProfile
,也会发生这种情况


有人知道是什么导致了这一切吗?我原以为这可能是PSReadLine的问题,但我也尝试过删除并重新启动它,但似乎没有任何效果。

在运行
man gci-detailed | more.com时点击Q键是否也会失败?这在受影响的系统上也会失败
-detailed
也只是调用
more
(这是一个PowerShell函数,不是DOS中的
more.com
cat函数:\more
参数([string[]$path)$outpunecoding=[System.Console]::outpunecoding if($path){foreach($path中的文件){Get Content$file | more.com}else{$input | more.com}
我看到
帮助
也是一个功能。
cat功能:\help
。但是这些功能在受影响的系统上都没有被更改,所以我不明白为什么
q
仅在某些系统上无法工作。在我的电脑上,
man
调用
获取帮助@PSBoundParameters | more
;但是由于
more
没有澄清后,它可以是由%PATHEXT%定义的任何扩展(例如,.COM、.EXE、.BAT、.CMD、.VBS、.VBE、.JS、.JSE、.WSF、.WSH、.MSC)根据%PATH%,除了内置操作系统
C:\Windows\system32\more.com
,还可能找到另一个版本的
more
。也就是说,请查看
Get Help gci-detailed | C:\Windows\system32\more.com
是否会产生相同的结果。如果没有,请使用%PATH%和%PATHEXT%在受影响的系统。HTH。我看到
cat函数:\man
cat函数:\help
是相同的,重要的行是:
#将outpunecoding设置为Console::outpunecoding.More.com与Unicode不兼容。$outpunecoding=[System.Console]::OutputEncoding;Get-Help@PSBoundParameters | more
我的问题是否与一些奇怪的Unicode设置有关,或者是的,与PowerShell
more
vs
more.com
有关。我将进一步研究,谢谢。是的,我将寻找其他
可执行文件(我想不是那样的,但让我们看看……)。从DOS:
where more
=>
C:\Windows\System32\more.com
。因此,看起来我只能使用PowerShell
more
函数或DOS
more.com
。但是从PowerShell,这将默认为
more
PowerShell函数。在运行
man gci-detailed>more.com
时是否点击Q键同样失败?这在受影响的系统上也会失败。
-detailed
也只是调用
更多
(这是一个PowerShell函数,而不是DOS中的
more.com
cat函数:\more
参数([string[]$path)$outpunecoding=[System.Console]::outpunecoding if($path){foreach($path中的文件){获取内容$file | more.com}其他{$input | more.com}
我看到
帮助
也是一个功能。
cat功能:\help
。但是这些功能在受影响的系统上都没有被更改,所以我不明白为什么
q
仅在某些系统上无法工作。在我的电脑上,
man
调用
获取帮助@PSBoundParameters | more
;但是由于
more
没有澄清后,它可以是由%PATHEXT%定义的任何扩展(例如,.COM、.EXE、.BAT、.CMD、.VBS、.VBE、.JS、.JSE、.WSF、.WSH、.MSC)根据%PATH%,除了内置操作系统
C:\Windows\system32\more.com
,还可能找到另一个版本的
more
。也就是说,请查看
Get Help gci-detailed | C:\Windows\system32\more.com
是否会产生相同的结果。如果没有,请使用%PATH%和%PATHEXT%在受影响的系统。HTH。我看到
cat函数:\man
cat函数:\help
是相同的,重要的行是:
#将outpunecoding设置为Console::outpunecoding.More.com与Unicode不兼容。$outpunecoding=[System.Console]::OutputEncoding;Get-Help@PSBoundParameters | more
我的问题是否与一些奇怪的Unicode设置有关,或者是的,与PowerShell
more
vs
more.com
有关。我将进一步研究,谢谢。是的,我将寻找其他
可执行文件(我想不是这样,但让我们看看…)从DOS:
where more
=>
C:\Windows\System32\more.com
。所以看起来我只能使用PowerShell
more
函数或DOS
more.com
。但是从PowerShell,这将默认为
more
PowerShell函数。