按US / UK LastWriteTime排序/重新排列文件

时间:2016-12-14 10:52:44

标签: date powershell

我在Windows中有一个类似文件名的文件目录,而且修改日期是英国日期格式dd/mm/yyyy,我需要做的就是选择" -last 1"基于ddmm。在这种情况下,它是一个Windows日期修改日期为" 07/12/16"或者" 2016年12月7日"。同一目录中还有另一个文件,其中包含英国日期" 01/12/16"或" 2016年12月1日"以供参考。那里还有很多其他文件。

但是,在目录上运行gci "<path>" | Select -last 1时,它会返回&#34; 12/01/16&#34;而不是&#34; 12/07/16&#34;,所以它假设日期的第一部分是美国(mm)并按此排序。选择-first 1并不会有帮助,因为这将选择8月份最早的文件,&#34; 2016年6月16日&#34;这被解释为&#34; 16/08/16&#34;。

如何操纵LastWriteTime以我想要的格式读出?我试过了

gci "\\my-Path\.csv" | Select Name, {$_.LastWriteTime.ToString("dd/mm/yyyy")} 

但这会带来一些奇怪的东西(&#34; 07/38/2016&#34;)

1 个答案:

答案 0 :(得分:0)

您可能只想使用Get-ChildItem属性将Sort-Object结果管道 LastWriteTime cmdlet:

Get-ChildItem "\\my-Path\.csv" | Sort-Object LastWriteTime | Select-Object -first 1