Settu samstundis upp kunnugleg skráasamtök

Sjálfvirk stilling skráatenginga, það er að velja forrit sem mun opna skrá frá Explorer/Finder. Og ég deili.

Vandamál fyrst. Skrár með nauðsynlegum viðbótum eru oft ekki opnaðar af neinu sjálfgefið, og ef þær eru opnaðar, þá af sumum iTunes. Undir Windows tapast nauðsynleg tengsl stundum alveg við uppsetningu (eða jafnvel fjarlægingu) forrita: stundum fjarlægir þú GIMP og ico skrár eru teknar úr venjulegum skráaskoðara yfir í venjulega myndasafnið. Hvers vegna? Til hvers? Óþekkt... Hvað ef ég finn nýjan ritstjóra eða, af ýmsum ástæðum, nýja uppsetningu? Hvað ef það eru fleiri en ein tölva? Almennt séð er slík skemmtun að smella músum í samræðum.

Þess í stað vistaði ég tvær skrár á Dropbox og nú get ég komið tölvuheiminum í eðlilegt horf nánast samstundis. Og hvað hefur þú beðið eftir svo mörg ár... Næst er uppskriftin að Windows og macOS.

Windows

Í Windows stjórnborðinu cmd.exe þetta er gert í tveimur áföngum:

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

Breytingar taka strax gildi. Þrátt fyrir að félagið sé skráð fyrir tiltekinn notanda þarf af einhverjum ástæðum að keyra þessar skipanir sem stjórnandi. Og ekki gleyma að tvöfalda prósentutáknið (%% 1) þegar keyrt er úr bataskrá. Töfrandi heimur Windows 7 Ultimate 64-bita…

MacOS

Í MacOS er þægilegt að stilla tengsl með því að nota tólið skylda. Það er sett upp í gegnum brew install duti. Dæmi um notkun:

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

Breytingar taka strax gildi, engin sudo krafist. Hér er röksemdin „com.apple.TextEdit“ hið svokallaða „bundle id“ forritsins sem við þurfum. Rökin „ritstjóra“ eru tengslategundin: „ritstjóri“ til að breyta, „áhorfandi“ til að skoða, „allt“ fyrir allt.

Þú getur fundið „bundle id“ svona: ef það er „/Applications/Sublime Text.app“ af þriðju útgáfunni, þá verður búntsauðkenni þess „com.sublimetext.3“ eða eitthvað annað:

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

Prófað á macOS Sierra.

Lokaforskrift fyrir 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

Lokaforskrift fyrir 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

Heimild: www.habr.com

Bæta við athugasemd