在移动10天后删除最近移动到不同目录的文件夹



有一个目录,我正在从一个不同的目录移动文件夹,没有任何逻辑(随机随时),这些文件夹需要在移动到这里10天后删除。

那么,这行得通吗?-

$limit = (Get-Date).AddDays(-10)
$path = "C:SomePath"
Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force

我不知道的是,这个创建时间参数将被更新,当我移动到新的目录?

根据注释中的要求,重命名文件夹的解决方案:

移动文件夹:

$sOldPath = "C:oldpathfoldertomove" # Change to your actual path
$sNewPath = "C:newpath" # Change to your actual new path
$sDate = Get-Date -Format "yyyMMdd"
$oFolderToMove = Get-Item -Path $sOldPath
Move-Item -Path $sOldPath -Destination $sNewPath
Rename-Item -Path (Join-Path -Path $sNewPath -ChildPath $oFolderToMove.Name) `
    -NewName ("{0}-{1}" -f $sDate, $oFolderToMove.Name)

生成路径:C:newpathyyyyMMdd-foldertomove


删除旧文件夹:

$sNewPath = "C:newpath" # Change to your actual new path
$sDateLimit = ((Get-Date).AddDays(-10)).ToString("yyyyMMdd")
# Assuming that all folders in $sNewPath have date-prefixed names.
Get-ChildItem -Path $sNewPath | 
    Where-Object { $_.PSIsContainer } |
    Foreach-Object {
        $sDate = [UInt32]($_.Name.Substring(0,8))
        if ($sDate -lt $sDateLimit) {
            # Deletes folder and everything in it. Remove -WhatIf switch to execute. 
            Remove-Item -Path $_.FullName -Recurse -Force -WhatIf 
        }
    }