官方翻译不当导致的PowerShell运行失败一例

发布于 2016-01-05  539 次阅读


今天我在PowerShell.com看到一篇文章,是关于Gridview的应用,觉得挺好,决定自己尝试一下。但是实际操作的时候却失败了,然后开始了漫长的排错。

http://powershell.com/cs/blogs/tips/archive/2012/01/13/create-own-driver-tool.aspx

首先我们运行一下,报错如下,说"状态"这个字段已经存在,这是什么鬼?

在命令中,用到了一个参数

ConvertFrom-Csv ,它会把数据格式化成csv的样式,也就是默认用","分开,但是它也有个要求,那就是不能有相同的列出现。

我们先直接运行一下,不要处理数据,看看到底是咋回事…………

这两个"状态"是什么鬼?

找一台英文版的机器运行一下,看看到底是咋回事。原来微软把state和status都翻译成了状态。

这里,state应该是动词,status是名词,另个还是有区别的,但是确实都可以翻译成中文的"状态"。虽然翻译可以用,但是确不符合PowerShell的规矩。这篇文章是2012年写的,今年了,微软都没发现这个问题哎。(我觉得一个翻译成状态,第二个翻译成状况在这里比较合适。)

既然已经这样了,我换了个方法在中文环境执行。如下:

也就是加一个参数,给他个副标题。当然用out-file然后import-csv也可以。

Driverquery.exe /v /FO CSV |Convertfrom-csv -Header "模块名","显示名称","描述","驱动程序类型","启动模式","状态","状态s","接受停止","接受暂停","分页池(字节)","代码(字节)","BSS(字节)","链接日期","路径","Init(字节)"    |select "模块名","显示名称","描述","驱动程序类型","启动模式","状态","状态s","接受停止"|Out-GridView -title "装逼大师"

看看结果,第一行不是我想要的,不过剩下的内容OK,所以基本还是完成了需求。

原创文章,转载请注明: 转载自奶油九叔

本文链接地址: 官方翻译不当导致的PowerShell运行失败一例