17

我开发了一个 PowerShell 脚本,它工作得非常好。唯一的挑战是子文件夹中的文件没有移动到目的地。

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

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

4

4 回答 4

19

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

robocopy \\servername\location C:\Dumps /e /mov /minage:31
于 2013-02-18T11:31:15.957 回答
15

使用命令-Recurse上的选项Get-ChildItem来访问子文件夹中的文件,然后通过管道将每个文件单独移动到Move-Item

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

这是一个屏幕截图:

截屏

于 2013-02-18T11:30:14.990 回答
8

上述简化
robocopy A:\ B:\ /MIR /minage:31
其中 A:\ 是您的来源 B:\ 是您的目的地

于 2013-06-19T03:11:01.697 回答
0

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

Get-ChildItem "E:" -Recurse | 移动项目-目的地“G:”

于 2015-06-11T15:33:43.493 回答