Rumah > Artikel > pembangunan bahagian belakang > 官方翻译不当导致的PowerShell运行失败一例_PHP教程
今天我在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也可以。
1 | Driverquery.exe /v /FO CSV |Convertfrom-csv -Header "模块名","显示名称","描述","驱动程序类型","启动模式","状态","状态s","接受停止","接受暂停","分页池(字节)","代码(字节)","BSS(字节)","链接日期","路径","Init(字节)"|select "模块名","显示名称","描述","驱动程序类型","启动模式","状态","状态s","接受停止"|Out-GridView -title "装逼大师" |
看看结果,第一行不是我想要的,不过剩下的内容OK,所以基本还是完成了需求。
微软云方案高端顶级群【236804566】分享成就牛B之路