menimpa file tertentu dalam pohon direktori secara rekursif

1

Saya ingin menimpa file di pohon direktori, secara rekursif.

Yang saya ingin timpa cocok dengan nama file "x_alpha * .png" dan memiliki ukuran tepatnya 456 byte .

Apakah ada cara untuk mencari ini secara rekursif di pohon direktori, dan menimpa mereka dengan file referensi, misalnya "e:\mydir\good.png"

Saya menggunakan Windows 7, tapi saya punya UnxUtils , jadi saya bisa menggunakannya juga.

Apa yang saya cari adalah sesuatu seperti ini, dihasilkan secara otomatis:

copy /y e:\mydir\good.png e:\mydir\a\b\c\x_alpha0023.png
copy /y e:\mydir\good.png e:\mydir\e\f\g\x_alpha0045.png
copy /y e:\mydir\good.png e:\mydir\h\x_alpha0248.png
hyperknot
sumber

Jawaban:

0

Anda juga dapat melakukan ini di Power Shell karena Anda menggunakan Windows 7.

dir -recurse x_alpha*.png | where-object { $_.Length -eq 456 } | foreach-object { copy-item -force e:\mydir\good.png $_.FullName }
dir -recurse x_alpha*.png   (to see the results)
jftuga
sumber
1

Saya tidak tahu UnxUtils, tetapi itu bisa dilakukan dengan cygwin dengan:

find /cygdrive/e/mydir/ -type f -name "x_alpha*.png" -size 456c -exec cp /cygdrive/e/mydir/good.png {} \;

Anda mungkin bisa memperkirakan bagaimana melakukan ini dengan UnxUtils.

Uji dulu dengan menjalankan yang berikut sebelum menimpa file:

find /cygdrive/e/mydir/ -type f -name "x_alpha*.png" -size 456c
jfg956
sumber