我正在尝试创建脚本,该脚本将根据文件创建日期和时间段(5分钟增量)移动不同文件夹中的文件。这是一个关于我想要实现的例子:
File1 - 创建日期&时间:2016-11-23 8:00 AM File2 - 创建日期和时间:2016-11-23 8:01 AM File3 - 创建日期和时间:2016-11-23 8:02 AM File4 - 创建日期和时间:2016-11-23 8:10 AM File5 - 创建日期和时间:2016-11-23 8:11 AM File6 - 创建日期和时间:2016-11-23 8:12 AM
脚本将移动文件夹1上的文件1,2,3和fodler2上的文件4,5,6,因为文件4,5,6具有创建日期增量>比file1,2,3
5分钟我开始使用Get-ChildItem但是对于如何编写5分钟增量概念的脚本存在问题。
感谢任何帮助,因为这是我在PowerShell中的第一天脚本
答案 0 :(得分:0)
试试这个:
$path = your-path
$searchDate = Get-Date -Date "2016-11-23 08:00:00"
for($i=1; $i -le 10; $i++)
{
Get-ChildItem -Path $path -recurse -include "$Include" |
where {$_.CreationTime -ge $searchDate.AddMinutes(($i-1)*5) -and
$_.CreationTime -lt $searchDate.AddMinutes($i*5)
}
}
答案 1 :(得分:0)
如果您希望在5分钟创建时间范围内移动目录中的文件
$direresult="c:\temp9\"
#list file with creation of property rang
$listfile=gci "c:\temp" -recurse -file | sort creationtime | select Name, fullname, creationtime, @{N="Rang";E={0}}
#load in value rang next if condition is respected
$cpt=1
for ($i = 0; $i -lt $listfile.Count; $i++)
{
if ($i -lt ($listfile.Count-1))
{
if ($listfile[$i+1].creationtime -gt $listfile[$i].creationtime.AddMinutes(5)) {$cpt++}
$($listfile[$i+1]).Rang=$cpt
}
}
#move files by group
$rangfile=0
$listfile | group Rang | %{$rangfile++; New-Item -ItemType Directory "$direresult\folder$rangfile" -Force; $_.group | %{move-item $_.fullname "$direresult\folder$rangfile" -Force } }