【问题标题】:Script to copy files from one UNC path to another but move the file if older than 24 hours将文件从一个 UNC 路径复制到另一个路径的脚本,但如果超过 24 小时则移动文件
【发布时间】:2013-12-03 04:02:29
【问题描述】:

我需要创建一个 scipt,将所有文件和文件夹从 \UNCPathA 复制到 \UNCPathB,但会移动任何超过 1 天的文件(保留文件夹结构)。

我知道如何使用多个 RoboCopy 脚本执行此操作,但如果可能(可能使用 PowerShell),我想在一个脚本中执行这两个任务。

任何帮助将不胜感激。

【问题讨论】:

    标签: powershell scripting copy move unc


    【解决方案1】:

    我没有做过任何测试,但我可能会从这样的事情开始:

    $uncA="\\server\share"
    $uncB="\\server\share"
    foreach ($item in (Get-ChildItem $uncA)) {
        If ($item.LastWriteTime -lt ((Get-Date).AddDays(-1))) {
            Move-Item $item.FullName $uncB
        } Else {
            Copy-Item $item.FullName $uncB
        }
    }
    

    $uncA$uncB 可以是 UNC 或 Windows 路径(或任何 powershell 可以理解的路径)。

    【讨论】:

    • 感谢分享。我不断收到错误消息,指出“移动项目:源路径和目标路径必须具有相同的根。移动无法跨卷工作”。我以前用 PowerShell 遇到过这个问题。本地路径与 UNC 路径似乎有一些限制?我见过其他人使用“remove-item”。
    • 帮助文件显示“Move-Item 将在同一提供商支持的驱动器之间移动文件,但它只会在同一驱动器内移动目录。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    相关资源
    最近更新 更多