Uzantıları Sıfırlayan .sh Shell Betiği

Cevapla
Kullanıcı avatarı
TRWE_2012
Mesaj Panosu Yöneticisi
Mesaj Panosu Yöneticisi
Mesajlar: 904
Kayıt: 30 Ağu 2022 21:59
Konum: DÜZCE/Akçakoca
Meslek: MADEN MÜHENDİSİ
Teşekkür etti: 254 kez
Teşekkür edildi: 754 kez
İletişim:

Uzantıları Sıfırlayan .sh Shell Betiği

Mesaj gönderen TRWE_2012 »

Merhabalar,

Bugün sizlere, Linux sistemlerinde dosya uzantılarını yönetmek için kullanabileceğiniz oldukça kullanışlı bir Bash betiğinden bahsetmek istiyorum. Bu betik, kullanıcıdan bir dosya uzantısı alarak, bu uzantıya karşılık gelen MIME türünü belirliyor ve ardından varsayılan uygulamayı sıfırlamanıza olanak tanıyor. Özellikle dosya türleriyle çalışırken, varsayılan uygulamaları ayarlamak bazen can sıkıcı olabiliyor. İşte bu betik, bu süreci oldukça basit hale getiriyor.

Betiğin İşleyişi

Dosya Uzantısını Alma:

Betik, zenity aracı kullanarak kullanıcıdan bir dosya uzantısı girmesini istiyor. Örneğin, .txt gibi bir uzantı girebilirsiniz. Eğer kullanıcı hiçbir şey girmezse, bir hata mesajı ile işlem iptal ediliyor. Bu, kullanıcı deneyimini artıran güzel bir özellik.

MIME Türünü Belirleme:

Girdiğiniz uzantıya göre, betik bir case yapısı kullanarak uygun MIME türünü belirliyor. Bu, dosya türlerinin doğru bir şekilde tanımlanmasını sağlıyor. Eğer geçersiz bir uzantı girerseniz, yine bir hata mesajı alıyorsunuz. Bu sayede yanlış bir işlem yapma olasılığınız en aza iniyor.

Varsayılan Uygulama Seçimi:

MIME türü belirlendikten sonra, kullanıcıdan varsayılan uygulama adını girmesi isteniyor. Örneğin, gedit.desktop gibi bir uygulama adı verebilirsiniz. Eğer bu aşamada da bir şey girmezseniz, işlem iptal ediliyor.

Varsayılan Uygulamayı Sıfırlama:

Son olarak, xdg-mime komutu kullanılarak belirtilen MIME türü için varsayılan uygulama sıfırlanıyor. Eğer işlem başarılı olursa, kullanıcıya bir bilgi mesajı gösteriliyor.

Neden Kullanmalısınız?

Bu betik, özellikle dosya türleriyle sıkça çalışan kullanıcılar için büyük bir kolaylık sağlıyor. Varsayılan uygulamaları ayarlamak bazen karmaşık hale gelebiliyor, ancak bu betik sayesinde her şey çok daha basit ve kullanıcı dostu bir hale geliyor. Ayrıca, zenity kullanarak grafiksel bir arayüz sunması, komut satırında kaybolmadan işlemleri yapmanıza olanak tanıyor.

Benim gibi eğer Linux sistemlerinde dosya uzantılarıyla ilgili bir sorun/sorunlar yaşıyorsanız veya varsayılan uygulamaları yönetmekte zorlanıyorsanız, bu betiği denemenizi kesinlikle tavsiye ederim. Umarım faydalı olur!

Herhangi bir sorunuz olursa, buraya yazın... İyi çalışmalar!

Betik Adı : reset_default_apps.sh


Kod İçeriği :

Kod: Tümünü seç

#!/bin/bash

# Kullanıcıdan dosya uzantısını al
fileExtension=$(zenity --entry --title="Dosya Uzantısı Sıfırlama" --text="Sıfırlamak istediğiniz dosya uzantısını (örneğin: .txt) girin:")

# Dosya uzantısının geçerli olup olmadığını kontrol et
if [[ -z "$fileExtension" ]]; then
zenity --error --text="Hiçbir uzantı girmediniz. İşlem iptal edildi."
exit 1
fi

# MIME türünü belirleme
case "$fileExtension" in
.a) mimeType="application/x-archive" ;;
.apk) mimeType="application/vnd.android.package-archive" ;;
.bat) mimeType="application/bat" ;;
.bin) mimeType="application/octet-stream" ;;
.bz2) mimeType="application/x-bzip2" ;;
.cab) mimeType="application/vnd.ms-cab-compressed" ;;
.c) mimeType="text/x-c" ;;
.class) mimeType="application/java-vm" ;;
.cmd) mimeType="application/x-msdownload" ;;
.com) mimeType="application/x-msdownload" ;;
.conf) mimeType="text/plain" ;;
.cpp) mimeType="text/x-c++" ;;
.csv) mimeType="text/csv" ;;
.cxx) mimeType="text/x-c++" ;;
.deb) mimeType="application/x-debian-package" ;;
.dll) mimeType="application/x-msdownload" ;;
.dmg) mimeType="application/x-apple-diskimage" ;;
.doc) mimeType="application/msword" ;;
.docx) mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" ;;
.exe) mimeType="application/x-msdownload" ;;
.flac) mimeType="audio/flac" ;;
.flv) mimeType="video/x-flv" ;;
.gif) mimeType="image/gif" ;;
.gz) mimeType="application/gzip" ;;
.h) mimeType="text/x-c" ;;
.html) mimeType="text/html" ;;
.iso) mimeType="application/x-iso9660-image" ;;
.jar) mimeType="application/java-archive" ;;
.jpeg|.jpg) mimeType="image/jpeg" ;;
.js) mimeType="application/javascript" ;;
.json) mimeType="application/json" ;;
.log) mimeType="text/plain" ;;
.m4a) mimeType="audio/mp4" ;;
.m4v) mimeType="video/x-m4v" ;;
.md) mimeType="text/markdown" ;;
.mp3) mimeType="audio/mpeg" ;;
.mp4) mimeType="video/mp4" ;;
.mpeg) mimeType="video/mpeg" ;;
.mpg) mimeType="video/mpeg" ;;
.msi) mimeType="application/x-msi" ;;
.odt) mimeType="application/vnd.oasis.opendocument.text" ;;
.ogg) mimeType="audio/ogg" ;;
.pdf) mimeType="application/pdf" ;;
.png) mimeType="image/png" ;;
.ppt) mimeType="application/vnd.ms-powerpoint" ;;
.pptx) mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" ;;
.py) mimeType="text/x-python" ;;
.rar) mimeType="application/x-rar-compressed" ;;
.rb) mimeType="text/x-ruby" ;;
.rpm) mimeType="application/x-rpm" ;;
.sh) mimeType="application/x-shellscript" ;;
.svg) mimeType="image/svg+xml" ;;
.tar) mimeType="application/x-tar" ;;
.tgz) mimeType="application/x-compressed-tar" ;;
.txt) mimeType="text/plain" ;;
.vbs) mimeType="text/vbscript" ;;
.wav) mimeType="audio/wav" ;;
.webm) mimeType="video/webm" ;;
.wmv) mimeType="video/x-ms-wmv" ;;
.xls) mimeType="application/vnd.ms-excel" ;;
.xlsx) mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ;;
.xml) mimeType="application/xml" ;;
.zip) mimeType="application/zip" ;;
.7z) mimeType="application/x-7z-compressed" ;;
.directory) mimeType="inode/directory" ;;
.drive) mimeType="inode/directory" ;;
.folder) mimeType="inode/directory" ;;
*)
zenity --error --text="Geçersiz dosya uzantısı."
exit 1
;;
esac

# Varsayılan uygulamayı sıfırlama
# Kullanıcıdan varsayılan uygulama adını al
appName=$(zenity --entry --title="Varsayılan Uygulama Seçimi" --text="Varsayılan uygulama adını girin (örneğin: gedit.desktop):")

# Varsayılan uygulamayı sıfırlama işlemi
if [[ -n "$appName" ]]; then
xdg-mime default "$appName" "$mimeType"
zenity --info --text="$fileExtension uzantısı için varsayılan uygulama sıfırlandı."
else
zenity --error --text="Varsayılan uygulama adı girilmedi. İşlem iptal edildi."
exit 1
fi
Ekran Görüntüleri : (Sistem : GNU/Linux Mint 21.1 LXDE x64)

Oluşturulan bash shell betiğinin çalıştırılması
Resim

Kullanıcı herhangi bir dosya uzantısının varsayılan ayarını değiştirmek birinci kutucuğa uzantı adını yazar[center]Resim[/center]

Ardından sıfırladığı dosya uzantısının varsayılan uygulamanın .desktop dosyasını ikinci kutucuğa yazması
Resim
Sonuç
Resim
Dosya ekleri
reset_default_apps.sh.7z
TRWE_2012 tarafından kodlandı.
ŞUBAT 2025
(1.26 KiB) 174 kere indirildi
Verily We have granted thee a manifest Victory
Fetih Suresi - 1.Ayet


Resim
Resim

Etiketler:
Cevapla

“Bash Shell Betiklerimiz” sayfasına dön