将具有今天修改日期的文件移动到其他文件夹,然后删除早于两周的文件

时间:2017-05-17 12:59:17

标签: vba powershell

脚本需要每周运行一次(通过任务调度程序)并实现以下目标: 当脚本运行时,某个文件夹中脚本运行日期(文件的修改日期)的所有文件都需要复制到其他文件夹,复制后,从原始文件夹中删除2周以内的所有文件。

请参阅屏幕截图以获取更多解释

http://i.imgur.com/zSD0cgn.png

我有一些关于powershell的东西:

$suite

但也许也可以用vba ..

有人可以帮我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

$Path = "C:\FromFTP";
$Destination = "C:\Backup";

$Today = (Get-Date).Date;

Get-ChildItem -Path $Path | 
    Where-Object { ($_.LastWriteTime -ge $Today) -and ($_.LastWriteTime -lt $Today.AddDays(1)) } | 
    Move-Item -Destination $Destination;

Get-ChildItem -Path $Path | 
    Where-Object { $_.CreationTime -lt $Today.AddDays(-14) } | 
    Remove-Item;

第一行获取最后一次写入(LastWriteTime)的文件,这些文件是在今天午夜到明天午夜之间的某个时间。显然,明天编写文件很困难,但是过去也可以很容易地运行脚本。

第二行删除了今天之前14天之前首次创建的每个文件(CreationTime)。根据您的计算方式,天数可能会减少一天。