Isla markiiba u samee ururro faylal caan ah

Ururada faylka dejinta otomaatiga ah, taas oo ah, xulashada barnaamij ka furi doona faylka Explorer/Finder. Anaa wadaaga.

Dhibaatooyinka marka hore. Faylasha leh kordhinta loo baahan yahay inta badan laguma furo wax si caadi ah, iyo haddii la furo, ka dibna qaar ka mid ah iTunes. Marka la eego Windows, ururada lagama maarmaanka ah ayaa mararka qaarkood si buuxda u lumaya marka la rakibayo (ama xitaa la furayo) barnaamijyada: mararka qaarkood waxaad tirtirtaa GIMP, iyo faylasha ico waxaa laga qaadaa daawadayaasha caadiga ah ee faylka caadiga ah ilaa heerka caadiga ah ee Sawirrada. Waa maxay sababtu? Maxay? Lama garanayo... Maxaa dhacaya haddii aan helo tifaftire cusub ama, sababo kala duwan dartood, rakibid cusub? Maxaa dhacaya haddii ay jiraan wax ka badan hal kombiyuutar? Guud ahaan, gujinta jiirarka ee wada hadalada waa madadaalo noocaas ah.

Taa baddalkeeda, waxaan ku badbaadiyay laba fayl Dropbox oo hadda waxaan ku soo celin karaa adduunka kumbuyuutarka sidii caadiga ahayd isla markiiba. Oo maxaad sugaysay sannado badan... Xiga waa habka loo diyaariyo Windows iyo macOS.

Windows

Ku jira konsolka Windows-ka cmd.exe tan waxa loo sameeyaa laba marxaladood:

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

Isbeddellada ayaa isla markiiba dhaqan gala. In kasta oo xaqiiqda ah in ururku u diiwaangashan yahay isticmaale gaar ah, sababo jira awgeed amarradan ayaa loo baahan yahay in loo isticmaalo maamule ahaan. Ha iloobin inaad labanlaabto calaamadda boqolkiiba (%%1) markaad ka ordayso faylka fiidmeerta. Dunida sixirka ee Windows 7 Ultimate 64-bit…

macOS

Gudaha MacOS way ku habboon tahay in la sameeyo ururo iyadoo la isticmaalayo utility duti. Waxaa lagu rakibay via brew install duti. Tusaalaha isticmaalka:

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

Isbeddellada ayaa isla markaaba hirgala, looma baahna sudo. Halkan doodda "com.apple.TextEdit" waa waxa loogu yeero "band id" ee barnaamijka aan u baahanahay. Doodda "editor" waa nooca ururka: "editor" ee tafatirka, "fiiri" ee daawashada, "dhammaan" wax kasta.

Waxaad ka heli kartaa "xidhmo id" sidan oo kale: haddii uu jiro "/Applications/Sublime Text.app" ee nooca saddexaad, ka dibna xidhmo ID ay noqon doontaa "com.sublimetext.3", ama mid kale:

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

Waxaa lagu tijaabiyay macOS Sierra.

Qoraalka u dambeeya ee Windows (.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

Qoraalka u dambeeya macOS (.sh)

#!/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

Source: www.habr.com

Add a comment