代码之家  ›  专栏  ›  技术社区  ›  user1926332

将文件和文件夹(包括子文件夹)从一个位置移动到另一个位置的PowerShell脚本,时间超过x天

  •  17
  • user1926332  · 技术社区  · 11 年前

    我开发了一个PowerShell脚本,它运行得非常好。唯一的挑战是子文件夹中的文件无法移动到目标位置。

    get-childitem -Path "\\servername\location" |
        where-object {$_.LastWriteTime -lt (get-date).AddDays(-31)} |
        move-item -destination "C:\Dumps"
    

    我无法进一步自定义脚本。

    4 回复  |  直到 11 年前
        1
  •  20
  •   Ansgar Wiechers user2812168    11 年前

    不要浪费时间试图重新发明 robocopy 在PowerShell中。

    robocopy \\servername\location C:\Dumps /e /mov /minage:31
    
        2
  •  16
  •   KyleMit    9 年前

    使用 -Recurse 上的选项 Get-ChildItem 命令,以访问子文件夹中的文件,然后通过管道将集合分别移动到 Move-Item

    Get-ChildItem -Path "C:\Test" -Recurse |
      Where-Object {$_.LastWriteTime -lt (Get-date).AddDays(-31)} |
      Move-Item -destination "C:\Dumps"
    

    这是一张截图:

    screenshot

        3
  •  8
  •   Stephen Tunney    11 年前

    上述内容的简化
    robocopy A:\ B:\ /MIR /minage:31
    哪里 A: \是你的来源 B: \是您的目的地

        4
  •  0
  •   Vinny    8 年前

    我需要一个快速的单行将所有数据从一个驱动器移到另一个驱动器。这对我来说非常有效:

    获取子项“E:”-重复|移动项-目标“G:”