回答为什么LastWriteTime会突然显示出星期几了,这种格式每个都要换行,太别扭了。能不能让它显示在一行


这样检测ETS文件,发现LastWriteTime是由LastWriteTime.ToString(“d”), LastWriteTime.
ToString(“t”) 控制的。

PS> ls $PSHOME *.format.ps1xml | Get-Content  | where { $_ -like '*LastWriteTime*'}
                        <Label>LastWriteTime</Label>
                                    [String]::Format("{0,10}  {1,8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.
ToString("t"))
                                <PropertyName>LastWriteTime</PropertyName>
                                <PropertyName>LastWriteTime</PropertyName>

 
你自己在PowerShell执行,应当也得不到类似的结果:

PS C:\Users\libao> [datetime]::Now.ToString("d")
2015/9/27
PS C:\Users\libao>  [datetime]::Now.ToString("t")
11:15

如果返回的字符串中包含星期请去系统设置中找到日期格式,重新设置下。
如果发现上述LastWriteTime配置不一致,也可以直接在C:\Windows\System32\WindowsPowerShell\v1.0的FileSystem.format.ps1xml直接重写,然后重启控制台或者:Update-FormatData


关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。