将文件从一个目录移动到另一个目录中超过3个工作日

时间:2014-06-03 16:12:03

标签: powershell

我知道我已经看到人们回答更简单的问题,并且将文件从一个文件夹移到另一个问题"但我想介绍两个必要的补充。我需要能够移动超过三个工作日(周一至周五)的文件。我需要将两个目录(from和to目录)设置为变量,因为这可能会经常更改。

我认为Powershell是去这里的方式,但我还在学习。如果需要其他信息或有人能够提供帮助,请与我们联系。

提前致谢。

1 个答案:

答案 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__可能依赖于您的语言环境,因此您可能需要调整一些使用该日期的数学运算。此外,如果您想在整个移动操作中维护文件和文件夹结构,最后一行可能需要变得更加复杂。