Windows 7 Pro环境。
我正在寻找创建批处理或PowerShell脚本来根据创建或上次修改日期移动文件夹。
源文件夹是“D:\ Video”。目的地是“F:\ DVRBackups \”。
要求是维护文件夹结构,并且只移动早于某个创建日期的文件夹,而其他文件夹保持不变。
源文件夹的文件夹结构如下所示:
D:\Video\Cam01\XXXX
D:\Video\Cam02\XXXX
D:\Video\Cam03\XXXX
..等。 (XXX = Cam01 / 02/03文件夹中的数百个文件夹,跨越几个月)
根据我正在使用的计算机DVR盒,相机文件夹的数量会发生变化。有些地方有5个摄像头,有些有35个(即Cam01,Cam02,..,Cam35)。
Cam01 / 02/03文件夹中的文件夹需要移到F:\ DVRBackups,同时保持原始文件夹结构。
即
D:\Video\Cam01\0318 --> F:\DVRBackups\Video\Cam01\0318
D:\Video\Cam01\0319 --> F:\DVRBackups\Video\Cam01\0319
D:\Video\Cam02\0501 --> F:\DVRBackups\Video\Cam02\0501
...等。
有人可以协助吗?
答案 0 :(得分:0)
如果只是每个CamXX
文件夹中的文件夹,您需要检查上次修改时间并移动它们。您可以在PowerShell
中使用以下内容。
$source = "D:\Video\"
$destination = "F:\DVRBackups\"
$date = Get-Date "25/03/2015 12:00"
dir $source | %{ dir $_.FullName | ?{ $_.LastWriteTime -gt $date } | Copy-Item -Destination $destination -Recurse -Force }
如果要先测试要移动的文件夹,请先使用此命令。
dir $destination | %{ dir $_.FullName | ?{ $_.LastWriteTime -gt $date } | select LastWriteTime, FullName }
这将提供将移动所有内容的所有文件夹的列表。