【问题标题】:Copy, verify, and then delete files/children from network location从网络位置复制、验证然后删除文件/子项
【发布时间】:2013-07-19 07:57:51
【问题描述】:

我想开发一个脚本,用于从一个网络位置复制、验证然后删除到另一个网络位置(超过 x 天的文件)。

这是我的算法:

Recursively traverse a network location ($movePath)
for all files $_.LastWriteTime >= x days | forEach {
   xcopy or robocopy $FileName = $_.FullName.Replace($movePath, $newPath)
   if (the files where written correctly) {
     (delete) Remove-Item $Filename from $movePath
   }

我可以将xcopy /v(验证)与 robocopy 结合使用吗?

【问题讨论】:

    标签: networking powershell xcopy robocopy


    【解决方案1】:

    是否要维护子文件夹结构(即源中子文件夹中的文件进入目标中的同一子文件夹)?如果是这样,这就足够了:

    $src = 'D:\source\folder'
    $dst = '\\server\share'
    $age = 10  # days
    
    robocopy $src $dst /e /move /minage:$age
    

    robocopy可以自行处理验证(自动完成)和删除。

    【讨论】:

    • 如果我想要搬家日志呢? robocopy 会生成一个吗?
    • 这行得通吗? robocopy $src $dst /e /move /minage:$age /LOG+:$logFile
    • 应该,是的。 /log+: 将在日志已存在时追加到日志中,如果文件不存在则创建新日志。如果您想覆盖现有日志,请改用/log:
    猜你喜欢
    • 2021-05-28
    • 1970-01-01
    • 2012-02-17
    • 2013-10-29
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多