Sanidi miunganisho ya faili inayojulikana mara moja

Uhusiano wa faili za kiotomatiki, yaani, kuchagua programu ambayo itafungua faili kutoka kwa Explorer/Finder. Na mimi kushiriki.

Matatizo kwanza. Faili zilizo na upanuzi unaohitajika mara nyingi hazifunguliwa na chochote kwa default, na ikiwa zinafunguliwa, basi kwa iTunes fulani. Chini ya Windows, vyama vinavyohitajika wakati mwingine hupotea kabisa wakati wa kufunga (au hata kufuta) programu: wakati mwingine huondoa GIMP, na faili za ico zinachukuliwa kutoka kwa kitazamaji cha kawaida cha faili hadi kwenye Matunzio ya kawaida ya Picha. Kwa nini? Kwa ajili ya nini? Haijulikani... Je, iwapo ningepata kihariri kipya au, kwa sababu mbalimbali, usakinishaji mpya? Je, ikiwa kuna zaidi ya kompyuta moja? Kwa ujumla, kubonyeza panya kwenye mazungumzo ni burudani kama hiyo.

Badala yake, nilihifadhi faili mbili kwenye Dropbox na sasa ninaweza kurudisha ulimwengu wa kompyuta kuwa wa kawaida mara moja. Na umesubiri nini kwa miaka mingi ... Ifuatayo ni mapishi ya Windows na macOS.

Windows

Katika koni ya Windows cmd.exe hii inafanywa katika hatua mbili:

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

Mabadiliko huanza kutumika mara moja. Licha ya ukweli kwamba chama kimesajiliwa kwa mtumiaji maalum, kwa sababu fulani amri hizi zinahitaji kuendeshwa kama msimamizi. Na usisahau kuongeza alama ya asilimia mara mbili (%%1) unapokimbia kutoka kwa faili ya popo. Ulimwengu wa kichawi wa Windows 7 Ultimate 64-bit…

MacOS

Katika MacOS ni rahisi kuweka vyama kwa kutumia matumizi wajibu. Imewekwa kupitia brew install duti. Mfano wa matumizi:

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

Mabadiliko yanaanza mara moja, hakuna sudo inahitajika. Hapa hoja ya "com.apple.TextEdit" ni kile kinachoitwa "kitambulisho cha kifungu" cha programu tunayohitaji. Hoja ya "mhariri" ni aina ya uhusiano: "mhariri" wa kuhariri, "mtazamaji" wa kutazamwa, "wote" kwa kila kitu.

Unaweza kupata "kitambulisho cha kifungu" kama hiki: ikiwa kuna "/Applications/Sublime Text.app" ya toleo la tatu, basi kitambulisho chake cha bundle kitakuwa "com.sublimetext.3", au nyingine nyingine:

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

Ilijaribiwa kwenye macOS Sierra.

Hati ya mwisho ya 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

Hati ya mwisho ya 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

Chanzo: mapenzi.com

Kuongeza maoni