2017-03-09 7 views
0

ファイルを別の場所に移動したい場合は、現在の月の日付の違いとLastWriteTimeのファイルを移動します。powershellを使用して日付差に基づいてファイルを移動する

私は2nd March 2017上のコードとその移動Dec-16ファイルが、Dec-16ファイルの唯一の1番目と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

パーフェクト....私はちょうどその作業を試みました。ありがとうございました :) –

関連する問題