Manangana avy hatrany ny fikambanan'ny rakitra mahazatra

Fikambanan'ny fisie automatique, izany hoe, mifantina programa izay hanokatra rakitra avy amin'ny Explorer/Finder. Ary zaraiko.

Olana aloha. Ny rakitra miaraka amin'ny fanitarana ilaina dia matetika tsy misokatra na inona na inona amin'ny alΓ lan'ny default, ary raha misokatra izy ireo dia avy amin'ny iTunes sasany. Eo ambanin'ny Windows, ny fikambanana ilaina indraindray dia very tanteraka rehefa mametraka (na manaisotra) programa: indraindray ianao manaisotra ny GIMP, ary ny rakitra ico dia alaina amin'ny mpijery rakitra mahazatra mankany amin'ny Photo Gallery mahazatra. Nahoana? Hatao inona? Tsy fantatra... Ahoana raha nahita tonian-dahatsoratra vaovao aho na, noho ny antony samihafa, fametrahana vaovao? Ahoana raha misy solosaina mihoatra ny iray? Amin'ny ankapobeny, fialamboly toy izany ny fipihana totozy amin'ny fifanakalozan-kevitra.

Fa kosa, namonjy rakitra roa tao amin'ny Dropbox aho ary ankehitriny dia afaka mamerina ny tontolon'ny solosaina ho ara-dalΓ na saika avy hatrany. Ary inona no nandrasanareo nandritra ny taona maro... Manaraka ny fomba fanamboarana ho an'ny Windows sy macOS.

Windows

Ao amin'ny console Windows cmd.exe Izany dia atao amin'ny dingana roa:

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

Mihatra avy hatrany ny fiovana. Na dia eo aza ny zava-misy fa ny fikambanana dia voasoratra anarana ho an'ny mpampiasa manokana, noho ny antony sasany dia mila mihazakazaka ho mpitantana ireo baiko ireo. Ary aza adino ny mampitombo avo roa heny ny isan-jato marika (%% 1) rehefa mihazakazaka avy amin'ny rakitra ramanavy. Ny tontolo mahagaga an'ny Windows 7 Ultimate 64-bit…

macOS

Ao amin'ny MacOS dia mety ny mametraka fikambanana mampiasa ny utility duti. Apetraka amin'ny alalan'ny brew install duti. Ohatra fampiasana:

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

Mihatra avy hatrany ny fanovana, tsy mila sudo. Eto ny adihevitra "com.apple.TextEdit" dia ilay antsoina hoe "id bundle" an'ny programa ilaintsika. Ny tohan-kevitra "editor" dia ny karazana fikambanana: "editor" ho an'ny fanovana, "mpijery" ho an'ny fijerena, "rehetra" ho an'ny zava-drehetra.

Azonao atao ny mahita ny "id bundle" toy izao: raha misy "/Applications/Sublime Text.app" amin'ny dikan-teny fahatelo, dia "com.sublimetext.3" ny ID azy, na iray hafa:

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

Notsapaina tamin'ny macOS Sierra.

Soraty farany ho an'ny 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

Soraty farany ho an'ny 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