フォルダには1年ほど前に処理されたファイルが70,000件あり、そのLastWriteTimesはすべて/ mm/dd/2016からです。出力ファイルのイメージを更新するため、これらのファイルをすべて再処理する必要がありました。ファイルは2つの別個のディレクトリにありますが、まったく同じファイル名を持っています。ファイルLastWriteTimeを別のファイルに設定する最後の書き込み時間
私のエンドユーザは、新しく処理されたすべてのファイルを更新して、LastWriteTimeを古い処理済みファイルの内容に変更したいと思っています。これは歴史的な検索目的のためです。
Powershellを使用して新しいフォルダ($ dest)をスキャンし、新しいファイルLastWriteTimeを更新して古いファイルLastWriteTimeに一致させたいとします。私のパワーシェルは非常に錆びていて、iveは固まっていて、それによって得ることができず、グルの助けを願っています。
ここに私が開発したコードブロックがあります。
$src = "C:\Users\UserName\Desktop\old"
$dest = "C:\Users\UserName\Desktop\new"
Get-ChildItem -Path $src -Filter *.pdf -Recurse | ForEach-Object {
$nextName = Join-Path -Path $dest -ChildPath $_.name
if (Test-Path -LiteralPath $nextName)
{
Set-Item $dest.LastWriteTime = $src.LastWriteTime
}
}
(未テスト)これを試してみてください。LastWriteTime =(ゲット・アイテムの "D:\パス\ OLDFILE.TXT")。LastWriteTime' –
ありがとうBillは、私が探していた解決策に見えます。 – Govna
ファイルはすでに '\ new'に存在しますか?そうでない場合は、あなたがやっているよりも効率的な方法があります。 – TheIncorrigible1