ディレクトリおよびすべてのサブディレクトリの最近変更されたファイルのリスト


14

Linuxでは、このコマンドを知っていて、すべてのサブディレクトリを含むディレクトリで最新の変更されたファイルを見つけてリストします。

find /var/www/ -type f -exec stat --format '%Y :%y %n' {} \; | sort -nr | cut -d: -f2- | head

Windows CLIに相当するものはありますか?


変更されたファイルのみを探していますか?または、すべてのファイルを見ていますか?
Keltari、2013

1
PowerShellはバッチよりもはるかに簡単にこれを実行できると確信していますが、後者を絶対に使用する必要がある場合は、試してくださいdir /a-d /o-d /tw /s(ファイルのみを表示、日付の降順で並べ替え、ソートに最後の書き込み時間を使用、サブディレクトリに再帰)。ただし、これはすべてのファイルをリストします。リストをn個の最新の変更済みファイルのみに制限するには、ここでdbenhamの優れたソリューションを使用します
Karan 2013

Linuxコマンドに関するいくつかのコメント:(1)ではなく、-execを検討することをお勧めしますxargs。(2)あなたが言うように、変更日付でディレクトリ(サブ)ツリー全体をソートしたい場合(そして、最新のNを確認したい場合)、あなたが持っているものは妥当です。ただし、過去N日間に変更されたすべてのファイルを見つけることで必要な情報を取得できる場合は、を参照してくださいfind … -mtime …
スコット

2
以前のコメントに追加するには、を調べることもできますforfiles /s /d +<date>
Karan 2013

回答:


21

PowerShell 2.0

変更された最新の10ファイル

Dir C:\folder -r | ? {! $_.PSIsContainer} | sort LastWriteTime | select -last 10

特定の日付以降に変更されたファイル

Dir C:\folder -r | ? {! $_.PSIsContainer -AND $_.lastwritetime -ge '04/18/14'} 

詳しくはhttp://ss64.com/ps/をご覧ください


変更されたファイルのあるディレクトリのみを表示したい場合は、これを実行します。Dir d:\ sftp -r | ?{!$ _。PSIsContainer -AND $ _。lastwritetime -ge '05 / 25/2018 '} | findstrディレクトリ
Rob

0
dir c:\windows\ /aa /s /O-D

c:\ windowsフォルダー内のアーカイブ属性セット(変更済み)を持つすべてのファイルとそのすべてのサブフォルダーを日付順にリストします(新しいものが最初)

編集:この方法は、ある時点でアーカイブビットを消去するか、リストが次第に大きくなる場合にのみ機能します。


1
アーカイブ属性は、最近変更されたファイルとどのような関係がありますか?
Karan 2013

1
すべて。変更されたファイルはすべて、OSによって設定されたアーカイブ属性を取得します。これは、バックアッププログラムがファイルが変更され、バックアップする必要があることを認識する方法です。
Keltari、2013

3
あなたの編集は非常に重要です。+ Aを含むファイルには、変更はありません。更新日に基づいてこれを行う方法を見つけてみませんか?
Karan 2013

0

MT Directory Changes Watcherをご覧ください。それはあなたのニーズに合っているかもしれません。

プログラムは特定のディレクトリ(監視ディレクトリ)でファイルの変更を監視し、変更されたファイルを別のフォルダ(ミラーディレクトリ)にコピーしてディレクトリ構造を保存します。これは、リモートサイトのローカルコピーがあり、最後のアップロード後にローカルで変更されたファイルのみをアップロードする場合に非常に役立ちます。

http://mito-team.com/projects/dcw

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.