我知道我已经看到人们回答更简单的问题,并且将文件从一个文件夹移到另一个问题"但我想介绍两个必要的补充。我需要能够移动超过三个工作日(周一至周五)的文件。我需要将两个目录(from和to目录)设置为变量,因为这可能会经常更改。
我认为Powershell是去这里的方式,但我还在学习。如果需要其他信息或有人能够提供帮助,请与我们联系。
提前致谢。
答案 0 :(得分:0)
这样的事情应该有效。
首先,您需要定义要排除的天数和当前的当前数字日。
$days = 3
$DOW = (Get-Date).DayOfWeek.Value__
您还希望配置文件路径。
$from = "C:\old"
$to = "c:\new"
这会将阈值设置为上午减去您定义的很多天。如果这与周末重叠,它将再次将阈值提前两天。
$threshold = (Get-Date).Date.AddDays((0-$days))
if ($DOW -lt $days) {
$threshold = (Get-Date).Date.AddDays((0-$days-2))
}
完成困难部分后,您只需获取超过阈值的文件并移动它们即可。
Get-ChildItem $from | Where-Object $lastWriteTime -lt $threshold | Move-Item $to
根据您的需要,有几个方面可以使用一些调整。首先,我了解(Get-Date).DayOfWeek.Value__
可能依赖于您的语言环境,因此您可能需要调整一些使用该日期的数学运算。此外,如果您想在整个移动操作中维护文件和文件夹结构,最后一行可能需要变得更加复杂。