17

PowerShell スクリプトを開発しましたが、まったく問題なく動作しています。唯一の問題は、サブフォルダー内のファイルが移動先に移動されないことです。

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

スクリプトをさらにカスタマイズすることはできません。

4

4 に答える 4

19

robocopyPowerShell で再発明しようとして時間を無駄にしないでください。

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:" -再帰 | Move-Item -Destination "G:"

于 2015-06-11T15:33:43.493 に答える