1 つのディレクトリに 200 以上のファイルがあり、最初にサブディレクトリでそれらのファイルを検索し、見つかったら置換する必要があります。ファイル名は同じです。内容とサイズは通常異なります。前回これを実行した時は Linux 環境だったので、コマンドをまとめました。Windows でこれを行う方法がわかりません。
答え1
次の PowerShell スクリプトで十分だと思います。各ファイルの元のフォルダーを完全に再帰的に検索するため、最適とは言えないかもしれません。そのため、少し調整することを検討してください。まずは重要でないデータとフォルダーでテストすることを強くお勧めします。少数のサンプル ファイルでテストしたところ、問題なく動作しましたが、環境内のファイルはそれほど単純ではない可能性があります。
探しているファイルが元のフォルダーに存在しない場合、または探しているファイルと同じ名前のファイルが元のフォルダーに複数存在する場合は、予期しない動作が発生する可能性があることに注意してください。
$DestDIR = 'C:\Destination'
$OrigDIR = 'C:\Origin'
Get-ChildItem $OrigDir | ForEach-Object {
$OrigName = $_.Name
$OrigPath = $_.FullName
Get-ChildItem $DestDIR -Recurse | Where-Object {$_.Name -eq $OrigName} | ForEach-Object {
$DestPath = $_.FullName
Copy-Item $OrigPath $DestPath -Force
}
}