powershellスクリプトを使用して1つの場所から別の場所にファイルを移動していますが、問題がある場合は両方の場所と信号からハッシュ値を取得するためにcompare-object
を使用しています。xよりも古いファイルを除外するcompare-object
get-hash
には長い時間がかかります(複数のデータを1つのデータとして扱っています)ので、すでに数時間/日の間に存在するファイルは除外したいと思います。
私のコード:
Compare-Object -ReferenceObject (dir $nas_smb_share -Recurse | Where-Object{!$_.psiscontainer} | get-hash) -differenceObject (dir $cs_dest -Recurse | Where-Object {!$_.psiscontainer} | get-hash) |
%{if ($_.SideIndicator -eq "=>"){$result = ("$($_.InputObject)")}}
if ([string]::IsNullOrEmpty($result)){$res = "Transfer succeeded without problems"}
else {$res = ("transfer failed on following file(s): "+ (dir $cs_dest -Recurse | Where-Object {!$_.psiscontainer } | get-hash | ? {$_.hashstring -match $result}))}
出力が変更されたファイルのハッシュ値を持つメールです。
がCompare-Object -ReferenceObject (dir $nas_smb_share -Recurse | Where-object{!$_.psiscontainer} | get-hash)
ので、それが唯一の
showoff ..... :-) – EBGreen
@EBGreen:... :) – mklement0