答えて

10

サブフォルダ内のファイルに介して取得し、その後Move-Item

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

にコレクションをパイプで個別に移動するためにGet-ChildItemコマンドで-Recurseオプションを使用してここにスクリーンショットです:

screenshot

+0

Musaab。 -Recursiveは機能していないようです。さらに助けてもらえますか? – user1926332

+0

ファイルがwhere-object句を満たしていますか? -Recursiveオプションの使い方を説明するために、私の回答をスクリーンショットで更新します。それを確認し、私が何をしているのかを教えてください。 –

+0

おかげさまで多くのありがとうございました。私は実際に1文字を間違えていました。 – user1926332

12

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

robocopy \\servername\location C:\Dumps /e /mov /minage:31 
+0

このスクリプトはファイルを宛先にコピーしており、パス。サブフォルダも含めたいと思います。私はそれらを別の場所に移動したい。 – user1926332

+1

'/ s'を使用してサブフォルダに再帰します。空のサブフォルダも含めるには '/ e'('/s 'の代わりに)を使います。 「別の場所」とはどういう意味ですか?フォルダ構造を維持したくないですか?その場合、PowerShellを使うことができます(@Musaabが述べたように、 '-Recursive'オプション付き)。この方法では、上書きされたファイルのためにデータが失われる危険があります。 –

+0

ありがとうAnsgar ....あなたのrobocopyスクリプトは、私が望んでいた仕事をした以上、私は別の使用法のためのもう一つのスクリプトを構築することができました。 – user1926332

6

上記
robocopy A:\ B:\ /MIR /minage:31
どこ Aの簡素化:\はソース Bです:\は、私は1つのドライブからすべてのデータを移動するために迅速な1つのライナーを必要に応じて目的地

0

です別のこれは完全に私のために働いた:

Get-ChildItem "E:" -Recurse |移動項目 - 宛先 "G:"

関連する問題