1

Konu: Dosya adlarını otomatik değiştirme.

İyi çalışmalar arkadaşlar;

İki farklı kuruma taranmış pdf dosyaları vermek zorundayız. fakat dosya isimlerini farklı olarak oluşturmamızı istiyorlar.

örnek olarak kurumun 1 tanesi:

ahmet_168_25_mehmet_23.pdf olarak

diğeri;
ahmet_mehmet_25_168_23.pdf olarak istiyor.

yapmak istediğim
c:\deneme klasöründeki tüm pdf dosyalarının isimlerini  (60-70 dosya oluyor) bir dbf dosyasına "_" ler arasını parçalayarak

a kolonuna ahmet
b Kolonuna 168
..
yazıp dosya ismlerini ikinci kurumun istediği hale getirip
dosyaları c:\deneme2 klasörüne yeni adları ile kaydetmek istiyorum.

Yardımcı olabilirseniz çok sevinirim.

2 Son düzenleyen, mrduyar (24.02.2016 14:12:48)

Re: Dosya adlarını otomatik değiştirme.

Selamlar;
Bunun için tek çözüm "total commander" kullanmaktır.
http://www.techspot.com/downloads/downl … amp;file=1
"File" menüsünde "Multi-rename-tool"

buda videosu: https://www.youtube.com/watch?v=kb91e1RBKpM

Bilmediğin Neyse Yanıldığındır.

3

Re: Dosya adlarını otomatik değiştirme.

Tabii ki bunun tek cozumu degil N tane cozumu vardir ve VFP kodu ile de kolaylikla yapilir.

Ornegin su verilen dizin adlari ile:

Visual Fox Pro
Local lcSource, lcTarget, ix, lcNewOrder

Local Array laFiles[1]
lcSource = "c:\deneme"
lcTarget = "c:\deneme2"
* ahmet_168_25_mehmet_23.pdf
* 1     2   3  4      5
* ahmet_mehmet_25_168_23.pdf
* 1     4      3  2   5
lcNewOrder = '1,4,3,2,5'
For ix=1 To Adir(laFiles, Addbs(m.lcSource)+'*.pdf')
    CopyTo(Addbs(m.lcSource)+laFiles[m.ix,1], m.lcTarget, m.lcNewOrder)
Endfor
 
Procedure CopyTo(tcSourceFile, tcTargetFolder, tcNewOrder)
    Local Array laParts[1], laOrder[1]
    Local ix, lcNewName
    Alines(laParts,Juststem(m.tcSourceFile),1,'_')
    For ix=1 To Alines(laOrder,m.tcNewOrder,1,',')
        laOrder[m.ix] = laParts[Val(laOrder[m.ix])]
    Endfor
    lcNewName = ''
    For ix=1 To Alen(laOrder)
        lcNewName = m.lcNewName + Iif(m.ix = 1,'','_') + laOrder[m.ix]
    Endfor
    lcNewName = Forcepath(Forceext(m.lcNewName, 'pdf'),m.tcTargetFolder)
    Copy File (m.tcSourceFile) To (m.lcNewName)
Endproc