Dərhal tanış fayl assosiasiyaları qurun

Fayl assosiasiyalarının avtomatik tənzimlənməsi, yəni Explorer/Finder-dən faylı açacaq proqramın seçilməsi. Və paylaşıram.

Əvvəlcə problemlər. Tələb olunan uzantıları olan fayllar tez-tez standart olaraq heç bir şey tərəfindən açılmır və əgər açılırsa, bəzi iTunes tərəfindən. Windows altında, proqramları quraşdırarkən (və ya hətta silərkən) lazımi birləşmələr bəzən tamamilə itirilir: bəzən siz GIMP-ni silirsiniz və ico faylları adi fayl görüntüləyicisindən standart Foto Qalereyaya götürülür. Niyə? Nə üçün? Naməlum... Yeni redaktor və ya müxtəlif səbəblərdən təzə quraşdırma tapsam nə etməliyəm? Birdən çox kompüter varsa nə etməli? Ümumiyyətlə, dialoqlarda siçanları tıklamaq belə bir əyləncədir.

Əvəzində Dropbox-da iki fayl saxladım və indi kompüter dünyasını demək olar ki, dərhal normal vəziyyətə gətirə bilərəm. Bəs siz bu qədər illərdir nə gözləyirdiniz... Növbəti Windows və macOS üçün reseptdir.

Windows

Windows konsolunda cmd.exe bu iki mərhələdə həyata keçirilir:

ftype my_file_txt="C:Windowsnotepad.exe" "%1"
assoc .txt=my_file_txt

Dəyişikliklər dərhal qüvvəyə minir. Assosiasiyanın müəyyən bir istifadəçi üçün qeydiyyatdan keçməsinə baxmayaraq, nədənsə bu əmrləri idarəçi kimi işə salmaq lazımdır. Yarasa faylından işləyərkən faiz simvolunu (%%1) ikiqat artırmağı unutmayın. Windows 7 Ultimate 64-bit-in sehrli dünyası...

MacOS

MacOS-da yardım proqramından istifadə edərək assosiasiyalar qurmaq rahatdır vəzifə. vasitəsilə quraşdırılır brew install duti. İstifadə nümunəsi:

duti -s com.apple.TextEdit .txt "editor"

Dəyişikliklər dərhal qüvvəyə minir, sudo tələb olunmur. Burada “com.apple.TextEdit” arqumenti bizə lazım olan proqramın sözdə “paket identifikatoru”dur. “Redaktor” arqumenti assosiasiya növüdür: redaktə üçün “redaktor”, baxmaq üçün “izləyici”, hər şey üçün “hamısı”.

Siz “paket identifikatoru”nu belə tapa bilərsiniz: əgər üçüncü versiyanın “/Applications/Sublime Text.app” varsa, onun paket ID-si “com.sublimetext.3” və ya başqa biri olacaq:

> osascript -e 'id of app "Sublime Text"'
com.sublimetext.3

macOS Sierra-da sınaqdan keçirilmişdir.

Windows üçün son skript (.bat)

@echo off

set XNVIEW=C:Program Files (x86)XnViewxnview.exe
set SUBLIME=C:Program FilesSublime Text 3sublime_text.exe
set FOOBAR=C:Program Files (x86)foobar2000foobar2000.exe

call :assoc_ext "%SUBLIME%" txt md js json css java sh yaml
call :assoc_ext "%XNVIEW%" png gif jpg jpeg tiff bmp ico
call :assoc_ext "%FOOBAR%" flac fla ape wav mp3 wma m4a ogg ac3

goto :eof

:assoc_ext
  set EXE=%1
  shift
  :loop
  if "%1" neq "" (
    ftype my_file_%1=%EXE% "%%1"
    assoc .%1=my_file_%1
    shift
    goto :loop
  )
goto :eof

macOS (.sh) üçün son skript

#!/bin/bash

# this allows us terminate the whole process from within a function
trap "exit 1" TERM
export TERM_PID=$$

# check `duti` installed
command -v duti >/dev/null 2>&1 || 
  { echo >&2 "duti required: brew install duti"; exit 1; }

get_bundle_id() {
    osascript -e "id of app """ || kill -s TERM $TERM_PID;
}

assoc() {
    bundle_id=$1; shift
    role=$1; shift
    while [ -n "$1" ]; do
        echo "setting file assoc: $bundle_id .$1 $role"
        duti -s "$bundle_id" "." "$role"
        shift
    done
}

SUBLIME=$(get_bundle_id "Sublime Text")
TEXT_EDIT=$(get_bundle_id "TextEdit")
MPLAYERX=$(get_bundle_id "MPlayerX")

assoc "$SUBLIME" "editor" txt md js jse json reg bat ps1 cfg sh bash yaml
assoc "$MPLAYERX" "viewer" mkv mp4 avi mov webm
assoc "$MPLAYERX" "viewer" flac fla ape wav mp3 wma m4a ogg ac3

Mənbə: www.habr.com

Добавить комментарий