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


PowerShell交流中心分类: 变量-函数-脚本-条件-循环-参数为什么LastWriteTime会突然显示出星期几了,这种格式每个都要换行,太别扭了。能不能让它显示在一行
1
Aloys asked 9 年 ago

54d5abcff8f79132

Mooser Lee 管理员 replied 9 年 ago

你把图片重命名下,不要包含中文字符,再上传。

0 Answers
1
Mooser Lee 管理员 answered 9 年 ago

这样检测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