Windows Powershell输出文件中的奇怪字符

时间:2020-08-31 08:28:41

标签: powershell

我的操作系统是win10,powershell版本是7.10.pre6。

我使用ls > D:\test.txt列出了文件并写入了文件。但是我发现“名称”列周围有一些奇怪的字符,如图所示:

snapshot of the output file

我不知道为什么。当我使用grep,awk等命令时,它把汉字变成了凌乱的代码。例如,ls | grep -i system将导致:

la---       2020/5/20   涓婂崍11:20        1386296 AppVEntSubsystemController.dll
la---       2020/6/10   涓嬪崍10:29        2190648 AppVEntSubsystems64.dll
la---       2020/8/25    涓嬪崍2:07         463168 microsoft-windows-system-events.dll
la---       2019/3/19   涓嬪崍12:44          95744 systemcpl.dll
la---       2019/3/19   涓嬪崍12:45         102912 systeminfo.exe
la---       2020/3/12    涓嬪崍1:46         510768 systemreset.exe

那是一个强大的powershell吗?还是有什么方法可以设置字符集?顺便说一句,我尝试了chcp 65001,但是没有用。
任何帮助将不胜感激。
谢谢。

1 个答案:

答案 0 :(得分:0)

这不是错误。 这些字符是ANSI color codes,这是因为您错误地重定向了原始彩色输出。操作员>重定向文本输出,包括颜色代码。

要导出数据,请尝试使用ls | Select FullName, CreationTime | Out-File C:\data.txtls | Export-Csv ...

请记住,在PowerShell中,所有内容都是对象,而不是字符串。