folder Tahribat.com Forumları
linefolder Microsoft Windows Ailesi İşletim Sistemleri
linefolder Klasördeki Dosyaların Tarihlerini Diğer Klasördeki Farklı Uzantılı Dosyalara Aktarma



Klasördeki Dosyaların Tarihlerini Diğer Klasördeki Farklı Uzantılı Dosyalara Aktarma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek
    hypnot1c bunu yazdı

    Attığım linke bir bakayım dedim bunun için komut varmış. 

    https://nircmd.nirsoft.net/clonefiletime.html

     

    Şunu indirdim : https://www.nirsoft.net/utils/nircmd.zip

    Çıkartığım dosya yolunda CMD yi açtım. Test ortamı oluşturup test ettim oldu.

     

    for %i in (C:\ARW\*) do (nircmdc.exe clonefiletime "C:\ARW\%~ni.arw" "C:\JPG\%~ni.png")

    ARW ve JPG klasörlerin içindeki dosyaların aynı isimle ve aynı sayıda olduğunu faz ederek bunu yazdım. 

    Eyvallah bu şekilde oldu. Bunu batch yapıp çalıştığı klasörden dosya isimlerini okuyup sadece arw dosylarının olduğu klasörü parametre olarak vermeye çalışacağım. Onu  yaptım mı tam istediğim gibi oluyor.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek

    Sonunda powershell script ile yaptım. @hypnot1c 'e teşekkürler. nircmd olmadan olabilirdi ama tarih formatından dolayı olmadı. Aşağıdaki kodu .ps1 olarak system32 klasörüne attım.

    $klasor1=$args[0]
    $klasor2=$args[1]
    Get-ChildItem $klasor1 * | ForEach-Object{
    $nereden=$klasor2+'\'+$_.basename+'.arw'
    $nereye=$_.FullName
    c:\Programdata\nircmd.exe clonefiletime $nereden $nereye
    }

    aşağıdaki şekilde kullanıyorum.

    tarihal c:\jpg g:\DCIM\raw

    aslında jpg'leri önce müşteri klasörüne değil de sabit bir yere atsam bu scripti de sağ tık gönder menüsüne koysam direkt parametre falan girmeden arw klasöründe gönder diyerek de çözebilirdim ama ps1 dosyasını send to klasöründe kopyalayınca görmüyor cmd ya da bat olması lazım. bat yapınca da bu komutlar çalışmıyor.

    @Antikky sen de yapmış kadar oldun sağol. Tarih formatı olayını biliyorsan onu çözersek nircmd'ye gerek duymadan sadece get-childitem ile çözebiliriz.

     

    Kodu kullanacaklara, farklı amaçla değiştireceklere not:

    İlk parametredeki klasörden sadece dosya isimlerini alıp 2. parametredeki klasörde aynı ismin sonuna arw ekleyerek aynı dosyanın arw uzantılısından tarihi alıyoruz. $nereye değişkeni de ilk parametre ile belirtilen klasördeki jpg dosyasının tam yolunu veriyor. jpg olarak belirtmediğim için dosyanın ne olduğu farketmez sadece arw uzantısını değiştirerek farklı dosya türleri için de kullanılabilir. script'e klasör parametresi verirken klasör isminin sonuna \ eklememek gerekiyor.

    DarkSkull tarafından 29/Kas/24 02:55 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Antikky
    Antikky's avatar
    Üstün Hizmet Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 01/Mayıs/2003
    Erkek
    DarkSkull bunu yazdı

    Sonunda powershell script ile yaptım. @hypnot1c 'e teşekkürler. nircmd olmadan olabilirdi ama tarih formatından dolayı olmadı. Aşağıdaki kodu .ps1 olarak system32 klasörüne attım.

    $klasor1=$args[0]
    $klasor2=$args[1]
    Get-ChildItem $klasor1 * | ForEach-Object{
    $nereden=$klasor2+'\'+$_.basename+'.arw'
    $nereye=$_.FullName
    c:\Programdata\nircmd.exe clonefiletime $nereden $nereye
    }

    aşağıdaki şekilde kullanıyorum.

    tarihal c:\jpg g:\DCIM\raw

    aslında jpg'leri önce müşteri klasörüne değil de sabit bir yere atsam bu scripti de sağ tık gönder menüsüne koysam direkt parametre falan girmeden arw klasöründe gönder diyerek de çözebilirdim ama ps1 dosyasını send to klasöründe kopyalayınca görmüyor cmd ya da bat olması lazım. bat yapınca da bu komutlar çalışmıyor.

    @Antikky sen de yapmış kadar oldun sağol. Tarih formatı olayını biliyorsan onu çözersek nircmd'ye gerek duymadan sadece get-childitem ile çözebiliriz.

     

    Kodu kullanacaklara, farklı amaçla değiştireceklere not:

    İlk parametredeki klasörden sadece dosya isimlerini alıp 2. parametredeki klasörde aynı ismin sonuna arw ekleyerek aynı dosyanın arw uzantılısından tarihi alıyoruz. $nereye değişkeni de ilk parametre ile belirtilen klasördeki jpg dosyasının tam yolunu veriyor. jpg olarak belirtmediğim için dosyanın ne olduğu farketmez sadece arw uzantısını değiştirerek farklı dosya türleri için de kullanılabilir. script'e klasör parametresi verirken klasör isminin sonuna \ eklememek gerekiyor.

    hocam bitirmem gereken bi proje var, o yuzden mactan cikip windowsa gecemiyorum ama 

    powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\System32\powershellkomuddosyan.ps1" %1 %2

    bat yapip dener misin olmasi gerek send to probleminin cozulmesi gerek


    Umursamaz Tavrımın Hastası Olunuz.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek
    Antikky bunu yazdı

    hocam bitirmem gereken bi proje var, o yuzden mactan cikip windowsa gecemiyorum ama 

    powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\System32\powershellkomuddosyan.ps1" %1 %2

    bat yapip dener misin olmasi gerek send to probleminin cozulmesi gerek

    Eyvallah bu şekilde oldu. Pencere gelip anında kayboluyor powershell'den hata falan dönerse büyük ihtimalle onu da göremeyeceğim. 2 şekilde de kullanayım bir süre hangisi rahat gelirse onunla devam ederim. Send to için kodu da aşağıdaki şekilde değiştirdim. ps1 dosyaları farklı yerlerde.

    $klasor1=$args[0]
    Get-ChildItem $klasor1 * | ForEach-Object{
    $nereden=$_.fullname
    $nereye='D:\jpg\'+$_.basename+'.jpg'

    c:\Programdata\nircmd.exe clonefiletime $nereden $nereye
    }

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Antikky
    Antikky's avatar
    Üstün Hizmet Madalyası Üstün Hizmet Madalyası
    Kayıt Tarihi: 01/Mayıs/2003
    Erkek
    DarkSkull bunu yazdı
    Antikky bunu yazdı

    hocam bitirmem gereken bi proje var, o yuzden mactan cikip windowsa gecemiyorum ama 

    powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\System32\powershellkomuddosyan.ps1" %1 %2

    bat yapip dener misin olmasi gerek send to probleminin cozulmesi gerek

    Eyvallah bu şekilde oldu. Pencere gelip anında kayboluyor powershell'den hata falan dönerse büyük ihtimalle onu da göremeyeceğim. 2 şekilde de kullanayım bir süre hangisi rahat gelirse onunla devam ederim. Send to için kodu da aşağıdaki şekilde değiştirdim. ps1 dosyaları farklı yerlerde.

    $klasor1=$args[0]
    Get-ChildItem $klasor1 * | ForEach-Object{
    $nereden=$_.fullname
    $nereye='D:\jpg\'+$_.basename+'.jpg'

    c:\Programdata\nircmd.exe clonefiletime $nereden $nereye
    }

    kodun sonuna Pause yazarak sen ekrani gormeden kapanmasini engelleyebilirsin, basar bi tusa kendin kaparsin. hata olup olmadigini kontrol edersin  gozunle


    Umursamaz Tavrımın Hastası Olunuz.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek
    Antikky bunu yazdı

    kodun sonuna Pause yazarak sen ekrani gormeden kapanmasini engelleyebilirsin, basar bi tusa kendin kaparsin. hata olup olmadigini kontrol edersin  gozunle

    Pause koymuştum zaten ekrana yazdığın kodu aynen basıyor sonuna hangi klasörden gönder dediysem onun yolunu ekliyor. jpg klasöründen 1 dosya sildim hata falan vermedi. Büyük ihtimalle nircmd hata döndürmüyor o yüzden powershell de hata vermiyor.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    javada arayüzlü bişey yazabilirim istersen, hata olursa görürsün vs .

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkSkull
    DarkSkull's avatar
    Kayıt Tarihi: 17/Aralık/2008
    Erkek
    yolbulucu bunu yazdı

    javada arayüzlü bişey yazabilirim istersen, hata olursa görürsün vs .

     

    Aslında hatalık bir durum olması da zor hafıza kartında makinenin çektiği fotoğraftan başka bir şey olmuyor zaten. Bilgisayardaki klasörde de raw formatından jpg'e dönüştürülmüş fotoğraflar oluyor isimleri değişmiyor. Arayüz olup butona basıp 2 klasörü seçersek daha rahat olur tabi. Boş vaktin olup can sıkıntısında uğraşayım dersen yapabilirsin. Sürekli kod yazan adam için en fazla 1-2 saatlik iş. Yaparsan kodları da buraya paylaş bari programlama forumu değiliz ama yine de programlama içeriği çok az.