2017-03-09 63 views
0

我想将文件移动到当前月份的日期差异条件和文件的LastWriteTime的另一个位置。使用PowerShell移动基于日期差异的文件

我上2nd March 2017运行下面的代码和它的移动Dec-16文件,但只有第一个和Dec-16文件第2日期还有的Dec-16个月多于10个文件。

Jan-17Feb-17文件不移动,这是很好的。理想情况下,它不应该移动Dec-16文件,因为我写的条件为$Now.AddMonths(-3)

这意味着它的检查日期以及我不想要的。代码只应检查月份并相应地移动文件。假设日期可以是任何事情,如果我在3月中旬运行命令$Now.AddMonths(-3),那么文件应该移动到30th November 2016并保持1st Dec-16直到日期。

$Now = Get-Date 
$Lastwrite = $Now.AddMonths(-3) 
$childItems = Get-ChildItem $folderNameFull -Include .txt,.xml,.csv,.xls -Recurse | where {$_.LastwriteTime -lt "$Lastwrite"} 

任何人都可以帮助我吗?

回答

2

您可以将您的$Lastwrite明确设置为目标月份第一天的午夜。

$Lastwrite = (Get-Date -Day 1).AddMonths(-3).Date 
$childItems = Get-ChildItem $folderNameFull -Include .txt,.xml,.csv,.xls -Recurse | where {$_.LastwriteTime -lt $Lastwrite} 
+0

完美....我只是试过,它的工作。谢谢 :) –