我的操作系统是win10,powershell版本是7.10.pre6。
我使用ls > D:\test.txt
列出了文件并写入了文件。但是我发现“名称”列周围有一些奇怪的字符,如图所示:
我不知道为什么。当我使用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
,但是没有用。
任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
这不是错误。
这些字符是ANSI color codes,这是因为您错误地重定向了原始彩色输出。操作员>
重定向文本输出,包括颜色代码。
要导出数据,请尝试使用ls | Select FullName, CreationTime | Out-File C:\data.txt
或ls | Export-Csv ...
请记住,在PowerShell中,所有内容都是对象,而不是字符串。