Powershell:按创建日期指定文件

时间:2018-08-25 13:50:25

标签: powershell

我想选择每月(例如)在目录中的9th day上创建的文件。

我想到了以下代码:

dir -Recurse -File | Where-Object {$_.CreationTime.Day -eq "09"} 

但是,这给了我每天在该目录中创建的每个文件。

我不明白为什么这行不通。 希望有人能帮助我!

2 个答案:

答案 0 :(得分:0)

怀疑,这是由于您的比较运算符(尽管我一开始无法复制您的问题)。由于SKSpriteNode属性是整数,因此您应该与类似类型进行比较:

Day

否则,您必须依靠类型转换系统来正确比较字符串和整数。

答案 1 :(得分:0)

仅重申TheIncorrigle1所说的话,这可能是由于字符串"09"和int 9的某些转换奇怪导致的,因为我无法重现该问题(您发布的原始代码段运行正常为我)。

Get-ChildItem -Recurse -File | Where-Object {$_.CreationTime.Day -eq 9} | Format-List Name,CreationTime,LastAccessTime,LastWriteTime

以上内容仅返回第9天创建的所有内容的结果,并明确列出Name, CreationTime, LastAccessTime, LastWriteTime

PS C:\Testing> Get-ChildItem -Recurse -File | Where-Object {$_.CreationTime.Day -eq 9} | Format-List Name,CreationTime,LastAccessTime,LastWriteTime


Name           : csv.txt
CreationTime   : 09/07/2018 17:37:13
LastAccessTime : 09/07/2018 17:37:13
LastWriteTime  : 23/07/2018 22:41:36