folder Tahribat.com Forumları
linefolder Yazılımlar / Diğer Programlar
linefolder Bat İle Dosya Uzantısı Değiştirmek?



Bat İle Dosya Uzantısı Değiştirmek?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    HoLyCat
    HoLyCat's avatar
    Kayıt Tarihi: 03/Ekim/2009
    Erkek

    Merhabalar,

     

    Arkadaşlar kullandığımız bir program var güncelleme yapmak istediğimizde DLL uzantılı dosyaların uzantısını değiştirip yeni DLL uzantılı dosyaları yüklüyoruz.

    Her seferinde bunu yapmak yerine bat dosyası ile tek tıkla yapılabilirmi.

    Örnek dosya yolu; E:\Programlar\CMD Software\ICAZ\arge.dll

    Bat dosyasını çalıştırdığımda, E:\Programlar\CMD Software\ICAZ\arge.11.12.2024 olarak yani işlem yaptığım tarihi dll yerine yazacak.

    bu dll dosyasından 11 adet var farklı isimlerde.

     

    Bu konuda destek olursanız sevinirim.

     


    🆃🅰🅷🆁🅸🅱🅰🆃.🅲🅾🅼
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikibok
    KaptaN
    KaptaN's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 30/Ağustos/2005
    Erkek

    Evet, bu işlemi bir bat (Batch) dosyası ile otomatikleştirebilirsiniz. Aşağıda istediğiniz gibi bir bat dosyasının nasıl hazırlanacağına dair örnek kod bulunuyor. Bu kod, mevcut DLL dosyasını yedekler ve dosya adına işlem tarihini ekler.

     

    Adımlar:

    1.Not Defteri’ni açın.

    2.Aşağıdaki kodu kopyalayıp yapıştırın.

    3.Dosyayı yedekle.bat gibi bir isimle kaydedin (dosya türü olarak “Tüm Dosyalar” seçmeyi unutmayın).

     

    Kod:

     

    @echo off

    setlocal enabledelayedexpansion

     

    :: Tarihi al ve uygun formatta düzenle

    for /f "tokens=2 delims==" %%i in ('"wmic os get localdatetime /value | findstr LocalDateTime"') do set datetime=%%i

    set year=%datetime:~0,4%

    set month=%datetime:~4,2%

    set day=%datetime:~6,2%

     

    set formattedDate=%day%.%month%.%year%

     

    :: DLL dosyalarının bulunduğu klasör

    set sourceFolder=E:\Programlar\CMD Software\ICAZ

     

    :: Klasördeki tüm DLL dosyalarını işle

    for %%f in ("%sourceFolder%\*.dll") do (

        set filePath=%%f

        set fileName=%%~nf

        set newFileName=%fileName%.%formattedDate%

        echo İşleniyor: !filePath!

        rename "!filePath!" "!newFileName!"

    )

     

    echo İşlem tamamlandı.

    pause

     

    Kodun Çalışma Mantığı:

    1.Tarih Formatı: wmic komutu ile güncel tarihi alır ve “GG.AA.YYYY” formatına çevirir.

    2.Klasördeki DLL Dosyaları: *.dll filtresiyle belirtilen klasördeki tüm DLL dosyalarını bulur.

    3.Dosya Yeniden Adlandırma: Her bir dosyanın adını orijinal_adı.tarih formatında değiştirir.

     

    Örnek Çıktı:

    •arge.dll → arge.11.12.2024

    •test.dll → test.11.12.2024

     

    Eğer başka bir isteğiniz veya düzenleme ihtiyacınız olursa, lütfen belirtin!

    KaptaN tarafından 11/Ara/24 11:42 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    HoLyCat
    HoLyCat's avatar
    Kayıt Tarihi: 03/Ekim/2009
    Erkek
    KaptaN bunu yazdı

    Evet, bu işlemi bir bat (Batch) dosyası ile otomatikleştirebilirsiniz. Aşağıda istediğiniz gibi bir bat dosyasının nasıl hazırlanacağına dair örnek kod bulunuyor. Bu kod, mevcut DLL dosyasını yedekler ve dosya adına işlem tarihini ekler.

     

    Adımlar:

    1.Not Defteri’ni açın.

    2.Aşağıdaki kodu kopyalayıp yapıştırın.

    3.Dosyayı yedekle.bat gibi bir isimle kaydedin (dosya türü olarak “Tüm Dosyalar” seçmeyi unutmayın).

     

    Kod:

     

    @echo off

    setlocal enabledelayedexpansion

     

    :: Tarihi al ve uygun formatta düzenle

    for /f "tokens=2 delims==" %%i in ('"wmic os get localdatetime /value | findstr LocalDateTime"') do set datetime=%%i

    set year=%datetime:~0,4%

    set month=%datetime:~4,2%

    set day=%datetime:~6,2%

     

    set formattedDate=%day%.%month%.%year%

     

    :: DLL dosyalarının bulunduğu klasör

    set sourceFolder=E:\Programlar\CMD Software\ICAZ

     

    :: Klasördeki tüm DLL dosyalarını işle

    for %%f in ("%sourceFolder%\*.dll") do (

        set filePath=%%f

        set fileName=%%~nf

        set newFileName=%fileName%.%formattedDate%

        echo İşleniyor: !filePath!

        rename "!filePath!" "!newFileName!"

    )

     

    echo İşlem tamamlandı.

    pause

     

    Kodun Çalışma Mantığı:

    1.Tarih Formatı: wmic komutu ile güncel tarihi alır ve “GG.AA.YYYY” formatına çevirir.

    2.Klasördeki DLL Dosyaları: *.dll filtresiyle belirtilen klasördeki tüm DLL dosyalarını bulur.

    3.Dosya Yeniden Adlandırma: Her bir dosyanın adını orijinal_adı.tarih formatında değiştirir.

     

    Örnek Çıktı:

    •arge.dll → arge.11.12.2024

    •test.dll → test.11.12.2024

     

    Eğer başka bir isteğiniz veya düzenleme ihtiyacınız olursa, lütfen belirtin!

    Brom teşekkür ederim 

    Belirttiğim dosyaların dll uzantısını değiştirmek istesem ?

    60 tane dll var bunun içinde 11 tanesi değişecek.

    örnek:
    arge.dll
    argesok.dll

    argepat.dll vs vs . 


    🆃🅰🅷🆁🅸🅱🅰🆃.🅲🅾🅼
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JpnTr
    JpnTr's avatar
    Kayıt Tarihi: 12/Kasım/2015
    Erkek

    xxx.dll ve yyy.dll yazan satıra istediğin dll isimlerini ekleyebilirsin

     

    @echo off
    
    setlocal enabledelayedexpansion
    
    :: Tarihi al ve uygun formatta düzenle
    for /f "tokens=2 delims==" %%i in ('"wmic os get localdatetime /value | findstr LocalDateTime"') do set datetime=%%i
    
    set year=%datetime:~0,4%
    set month=%datetime:~4,2%
    set day=%datetime:~6,2%
    
    set formattedDate=%day%.%month%.%year%
    
    :: DLL dosyalarının bulunduğu klasör
    set sourceFolder=E:\Programlar\CMD Software\ICAZ
    
    :: İşlenecek dosyalar (virgülle ayırarak listeleyin)
    set processFiles=xxx.dll,yyy.dll
    
    :: Listeyi döngüyle işle
    for %%f in (%processFiles%) do (
        set filePath=%sourceFolder%\%%f
        if exist "!filePath!" (
            set fileName=%%~nf
            set extension=%%~xf
            set newFileName=!fileName!.!formattedDate!!extension!
            echo İşleniyor: !filePath!
            rename "!filePath!" "!newFileName!"
        ) else (
            echo Dosya bulunamadı: %%f
        )
    )
    
    echo İşlem tamamlandı.
    pause
    

     


    Bir cinayet işleniyorsa tek suçlu katil değildir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hermes
    hermesthecat
    hermesthecat's avatar
    Kayıt Tarihi: 21/Mayıs/2007
    Erkek

    powershell

     

     

    Get-ChildItem "*.dll" | Rename-Item -NewName { $_.Name -replace "\.dll$",".bak" }


    az insan çok huzur. | https://dnscheck.tr
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    HoLyCat
    HoLyCat's avatar
    Kayıt Tarihi: 03/Ekim/2009
    Erkek
    JpnTr bunu yazdı

    xxx.dll ve yyy.dll yazan satıra istediğin dll isimlerini ekleyebilirsin

     

    @echo off
    
    setlocal enabledelayedexpansion
    
    :: Tarihi al ve uygun formatta düzenle
    for /f "tokens=2 delims==" %%i in ('"wmic os get localdatetime /value | findstr LocalDateTime"') do set datetime=%%i
    
    set year=%datetime:~0,4%
    set month=%datetime:~4,2%
    set day=%datetime:~6,2%
    
    set formattedDate=%day%.%month%.%year%
    
    :: DLL dosyalarının bulunduğu klasör
    set sourceFolder=E:\Programlar\CMD Software\ICAZ
    
    :: İşlenecek dosyalar (virgülle ayırarak listeleyin)
    set processFiles=xxx.dll,yyy.dll
    
    :: Listeyi döngüyle işle
    for %%f in (%processFiles%) do (
        set filePath=%sourceFolder%\%%f
        if exist "!filePath!" (
            set fileName=%%~nf
            set extension=%%~xf
            set newFileName=!fileName!.!formattedDate!!extension!
            echo İşleniyor: !filePath!
            rename "!filePath!" "!newFileName!"
        ) else (
            echo Dosya bulunamadı: %%f
        )
    )
    
    echo İşlem tamamlandı.
    pause
    

     

    hocam kod çalıştı ellerinize sağlık.

    Yalnız ufak bir problem var, xxx.dll adını xxx.11.12.2024.dll olarak değiştirdi.
    Benim istediğim ise xxx.dll dosyasını xxx.11.12.2024 olarak değiştirsin

    teşekkürler 

     

    Edit :  Chatgpt nin ellerinden öperim. sorun giderildi..

    @echo off

    setlocal enabledelayedexpansion

    :: Tarihi al ve uygun formatta düzenle
    for /f "tokens=2 delims==" %%i in ('"wmic os get localdatetime /value | findstr LocalDateTime"') do set datetime=%%i

    set year=%datetime:~0,4%
    set month=%datetime:~4,2%
    set day=%datetime:~6,2%

    set formattedDate=%day%.%month%.%year%

    :: DLL dosyalarının bulunduğu klasör
    set sourceFolder=E:\Programlar\CMD Software\ICAZ

    :: İşlenecek dosyalar (virgülle ayırarak listeleyin)
    set processFiles=yyy.dll,zzz.dll

    :: Listeyi döngüyle işle
    for %%f in (%processFiles%) do (
    set filePath=%sourceFolder%\%%f
    if exist "!filePath!" (
    set fileName=%%~nf
    set extension=%%~xf
    set newFileName=!fileName!.!formattedDate!
    echo İşleniyor: !filePath!
    rename "!filePath!" "!newFileName!"
    ) else (
    echo Dosya bulunamadı: %%f
    )
    )

    echo İşlem tamamlandı.
    pause

     

    HoLyCat tarafından 11/Ara/24 12:51 tarihinde düzenlenmiştir

    🆃🅰🅷🆁🅸🅱🅰🆃.🅲🅾🅼
Toplam Hit: 769 Toplam Mesaj: 6
bat dosyası ile yedekleme bat dosyası