Arşiv oluşturma ve Açma (Nautilus Betikleri)

Başlatan ironic, 10 Ağustos 2010 - 22:46:40

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ironic

Arşiv Oluşturma betiği

*.tar, *.tar.gz, *.tar.bz2, *.tgz uzantılarından istenen biriyle seçili dosyayı sıkıştırır. Dosya seçili haldeyken betik çalıştırıldığında istenen sıkıştırma türünü soracaktır.


#!/bin/bash
 
arsiv="tar
tar.gz
tar.bz2
tgz
tar.xz"
 
  if [[ -n $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]]
  then 
      secim=`zenity $arsiv --entry --title 'Arşiv türü seçimi' --text 'Lütfen sıkıştırmak istediğiniz türü seçin' --entry-text 'tar.xz'`
             [ $? -eq 1 ] && exit 1
             
      dosya=$(basename "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
     
      function hata() {
      zenity --warning --text 'Hata\: İşlem başarısız oldu.' --timeout 6; exit 1
      }
     
     case $secim in                     
      tar)
      tar cf "${dosya}".tar "${dosya}" || hata
      ;;         
      tar.gz)
      tar czf "${dosya}".tar.gz "${dosya}" || hata
      ;;             
      tar.bz2)
      tar cjf "${dosya}".tar.bz2 "${dosya}" || hata
      ;;             
      tgz)
      tar czf "${dosya}".tgz "${dosya}" || hata
      ;;
      tar.xz)
      tar Jcf "${dosya}".tar.xz "${dosya}" || hata 
      ;;   
      *)
      zenity --warning --text 'Girilen arşiv türü için bir tanımlama yok\!' --timeout 6
      ;;
     esac               
  else
      zenity --warning --text 'Herhangi bir arşiv dosyası seçmediniz\!' --timeout 6
  fi   



Arşiv Açma betiği

*.tar.gz,  *.tar.bz2, *.tar,  *.tbz2, *.tgz, *.zip uzantılı arşiv dosyasını açar ve arşiv dosyasını çöpe taşır.


#!/bin/bash
       
      [[ -n $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]] && {     
            dosya=$(basename "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
         
          function hata() {
          zenity --warning --text 'Hata\: İşlem başarısız oldu.' --timeout 6; exit 1
          }
         
         case "${dosya}" in
          *.tar.bz2)
          tar xjf "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;
          *.tar.gz)
          tar xzf "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;             
          *.gz)
          gzip -d "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;             
          *.tar)
          tar xf "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;
          *.tbz2)
          tar xjf "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;
          *.tgz)
          tar xzf "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;
          *.zip)
          unzip "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;
          *.rar)
          unrar e "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;
          *.tar.xz)
          tar Jxf "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;           
          *.deb)
          ar x "${dosya}" || hata
          gvfs-trash "${dosya}"
          ;;         
          *)
          zenity --warning --text 'Seçtiğiniz dosya için tanımlama yok\!' --timeout 6
          ;;
         esac   
      } || {
            zenity --warning --text 'Herhangi bir arşiv dosyası seçmediniz\!' --timeout 6
     
      }


Kullanım

Betikleri istediğiniz adla kaydedin.
Betik seçiliyken, sağ tıklayıp Özellikler >> Erişim hakları >> Bir program gibi çalışmasına izin ver kutucuğunu seçin.
Son olarak betiği ~/.gnome2/nautilus-scripts dizini altına taşıyın.



fallofahero

arşiv oluşturmanın zip eklenmiş hali


#!/bin/bash
 
arsiv="tar
tar.gz
tar.bz2
tgz
tar.xz
zip"
 
  if [[ -n $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]]
  then 
      secim=`zenity $arsiv --entry --title 'Arşiv türü seçimi' --text 'Lütfen sıkıştırmak istediğiniz türü seçin' --entry-text 'tar.xz'`
             [ $? -eq 1 ] && exit 1
             
      dosya=$(basename "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
     
      function hata() {
      zenity --warning --text 'Hata\: İşlem başarısız oldu.' --timeout 6; exit 1
      }
     
     case $secim in                     
      tar)
      tar cf "${dosya}".tar "${dosya}" || hata
      ;;         
      tar.gz)
      tar czf "${dosya}".tar.gz "${dosya}" || hata
      ;;             
      tar.bz2)
      tar cjf "${dosya}".tar.bz2 "${dosya}" || hata
      ;;             
      tgz)
      tar czf "${dosya}".tgz "${dosya}" || hata
      ;;
      tar.xz)
      tar Jcf "${dosya}".tar.xz "${dosya}" || hata 
      ;;   
     zip)
      zip -r "${dosya}".zip "${dosya}" || hata 
      ;;
      *)
      zenity --warning --text 'Girilen arşiv türü için bir tanımlama yok\!' --timeout 6
      ;;
     esac               
  else
      zenity --warning --text 'Herhangi bir arşiv dosyası seçmediniz\!' --timeout 6
  fi