powershell数据回传回外部命令后中文出现乱码。应该是powershell的管道出了问题。有没有解决的高手,指点一下。(其他的变通且不论,单就这个findstr这个...
powershell 数据回传回外部命令后中文出现乱码。应该是powershell的管道出了问题。有没有解决的高手,指点一下。(其他的变通且不论,单就这个findstr这个命令)
PS Y:\> get-help about|findstr "WMI"
PS Y:\> get-help about|findstr WMI
about_WMI_Cmdlets HelpFile ???? Windows Management Instrumentation (WMI) ? Windows
【目录下有中文名文件,比如中国.pdf】
-a--- 2012-2-5 12:21 47899266 “汉典”精简离线版 v1.01.part1.rar
-a--- 2012-2-5 12:08 209402 中国.pdf
PS Y:\> ls|findstr “中国”
这句找不到所要的,中国.pdf
PS Y:\> ls|findstr pdf
-a--- 2012-2-5 12:08 209402 ??????.pdf
这句能找到但,显示的是乱码
PS D:\My Documents\works\Downloads\powershell> $host
Name : ConsoleHost
Version : 2.0
InstanceId : 6b6a4258-5fa1-481d-8f6d-b2cd4c910899
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : zh-CN
CurrentUICulture : zh-CN
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
输入$host看看环境配置是否是中文。
输入chcp 936就能支持中文了。
PS C:\Documents and Settings\Administrator> $host
(结果同上)
PS C:\Documents and Settings\Administrator> chcp
活动的代码页: 936
(显示已经是936)
昨天在win7下运行get-help about|findstr "WMI",结果乱码。
你的操作系统?
你的powershell是自己安装的?哪里下载
可能和语法有关 我是在powershell ise里运行的。
如果是纯命令行方式运行你提供的语句还是有乱码。
稍微修改一下语句就能正常显示了:可能是powershell和cmd指令交互产生的bug导致乱码,
findstr是cmd下的指令。
你试试运行下面的指令。我在xp sp3和2008 r2下运行都没有乱码?
get-help about|?{$_.name -match "WMI"}