0

Windows 用の unixutils を見つけ、find コマンドを使用して 30 分以上前のファイルを別のディレクトリに移動しようとしています。

次のすべてを試しました(SourceDirおよび/またはTargetDirの最後に\も使用)が、/を使用してディレクトリを区切るUNIXと、\を使用してディレクトリを区切るWindowsが原因であると確信しているさまざまなエラーが発生します。

find C:\SourceDir -name * -mmin +30 -type f -exec "move {} C:\TargetDir" ;
find C:\SourceDir -name * -mmin +30 -type f -exec "move {} C:\TargetDir" +
find C:\SourceDir -name * -mmin +30 -type f -execdir "move {} C:\TargetDir" ;
find C:\SourceDir -name * -mmin +30 -type f -execdir "move {} C:\TargetDir" +

誰かがこれを機能させましたか?

また、このユーティリティの使用に縛られているわけではありません。簡単に実行できるように思えただけです。ただし、スケジュールされたジョブの一部としてコマンドラインから実行する必要があり、ソフトウェアをインストールする必要はありません。ただし、スタンドアロンの単一ファイル ユーティリティのコピーは許容されます。

Windows Powershell も利用できると思います。

ありがとう!

4

1 に答える 1

0

Windows Powershell を手伝ってくれた人を見つけました。後で他の誰かに役立つ場合に備えて、ここで更新を提供すると思いました。

次の Powershell コマンドは同じことを行います。

get-childitem -Path "C:\SourceDir" -recurse | where-object {$_.LastWriteTime -le (get-date).AddMinutes(-30)} | move-item -destination "C:\TargetDir" -force
于 2012-04-25T20:57:44.347 に答える