Bir dizin ağacındaki belirli dosyaların tekrar tekrar yazılması


1

Bir dizin ağacındaki dosyaların üzerine tekrar tekrar yazmak istiyorum.

Üzerine yazmak istediklerim "x_alpha * .png" dosya adıyla eşleşiyor ve tam olarak 456 bayt boyutunda .

Bunları özyinelemeli olarak bir dizin ağacında aramanın ve örneğin üzerine bir referans dosyası yazmanın bir yolu var mı? "e:\mydir\good.png"

Windows 7 kullanıyorum, ancak UnxUtils'im var , bunları da kullanabilirim.

Aradığım şey otomatik olarak üretilen şöyle bir şey:

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

Yanıtlar:


0

Bunu, Windows 7'yi kullandığınızdan beri Power Shell'de de yapabilirsiniz.

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)

1

UnxUtils'i tanımıyorum, ancak cygwin ile şu şekilde yapılabilir:

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

Muhtemelen bunu UnxUtils ile nasıl yapacağınızı tahmin edebilirsiniz.

Önce dosyaların üzerine yazmadan önce aşağıdakileri çalıştırarak test edin:

find /cygdrive/e/mydir/ -type f -name "x_alpha*.png" -size 456c
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.