2つの異なる時点におけるファイルとフォルダの違い(Windows)


0

変更されたファイルとフォルダの数(作成、削除、変更を含む)、変更されたファイルとフォルダの一覧、 サイズ 前後。

それで、私が2つの異なる時に走り、それから違いを得ることができるユーティリティツール(またはスクリプト?)がありますか?


これは非常に特殊な要求なので、あらかじめ用意されたツールでは不可能です。あなたはこれを自分で書かなければならないでしょう。そのため、ユースケースの各セグメントに対してお気に入りの検索エンジンを使用して検索を実行し、スクリプトを作成してテストします。問題が発生した場合は、コードとエラーをお知らせください。 PowerShellのファイルとフォルダの管理、ファイルとフォルダの監視も検索します。これの多くはあなたのシステムのヘルプファイルにもあります。動くために、Get-ChildItemを調べてください。
postanote

@ postanoteコメントありがとうございます。ところで、私は私が言及したすべての側面をカバーしないツールにもオープンです...
OrangeSpider

Treesizeを使えます。それは与えられた時間にシステム内のファイルのスナップショットを保存し、それを別の時からのスナップショットと比較することを可能にします。
Lieven Keersmaekers

回答:


0

PowerShellを使用すると、いくつかのコマンドレットを組み合わせることはそれほど難しくありません。

  • Get-ChildItem フォルダ/ファイルツリーをオブジェクトにする
  • 使う Export-Clixml/Import-Clixml オブジェクトをファイルに格納する
    (xmlファイルはいくらかのスペースを取ります)
  • そして Compare-Object 最新のツリーと現在のツリーを比較します。

## Q:\Test\2018\12\17\SU_1385185.ps1
$Base = 'C:\Test\'
$ArchiveFolder = $Env:tmp

function Archive-Tree {
    $File = "{0}\Tree_{1:yyyyMMddHHmmss}.CliXML" -f $ArchiveFolder,[datetime]::Now
    Get-ChildItem -Path $Base -Recurse | Export-Clixml $File
    $File
}

## ----- get most recent file Tree_*.clixml
$File = Get-ChildItem "$($Env:tmp)\Tree_*.Clixml" | Select-Object -Last 1
if ($File){
    $Old = Import-Clixml $File
    $New = Import-Clixml (Archive-Tree)
    Compare-Object -Ref $Old -Dif $New -Property FullName,
            Length,LastWriteTime,CreationTime,LastAccessTime |
        Sort-Object FullName,SideIndicator | Format-Table -AutoSize
} else {
    $File = (Archive-Tree)
    "No saved tree, now created as {0}" -f $File
}

出力例

FullName              Length LastWriteTime       CreationTime        LastAccessTime      SideIndicator
--------              ------ -------------       ------------        --------------      -------------
C:\test\c_test.clixml 982258 2018-12-17 12:59:27 2018-12-17 12:59:24 2018-12-17 12:59:24 =>
C:\test\c_test.clixml      0 2018-12-17 12:59:24 2018-12-17 12:59:24 2018-12-17 12:59:24 <=
C:\Test\foo.baz         1164 2018-12-17 13:55:05 2018-12-17 13:55:21 2018-12-17 13:55:21 =>

SideIndicator <= LHSまたは-ReferenceObject( $OLD
SideIndicator => RHSまたは-DifferenceObject( $New

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