Lesekese ṣeto awọn akojọpọ faili ti o faramọ

Awọn ẹgbẹ faili eto adaṣe, iyẹn ni, yiyan eto ti yoo ṣii faili kan lati Explorer/Finder. Mo si pin.

Awọn iṣoro akọkọ. Awọn faili pẹlu awọn amugbooro ti a beere nigbagbogbo ko ṣii nipasẹ ohunkohun nipasẹ aiyipada, ati pe ti wọn ba ṣii, lẹhinna nipasẹ diẹ ninu awọn iTunes. Labẹ Windows, awọn ẹgbẹ pataki nigbakan sọnu patapata nigbati o ba nfi sori ẹrọ (tabi paapaa yiyo) awọn eto: nigbakan o yọ GIMP kuro, ati pe awọn faili ico ni a gba lati ọdọ oluwo faili deede si boṣewa Fọto Gallery. Kí nìdí? Fun kini? Aimọ... Kini ti MO ba rii olootu tuntun tabi, fun awọn idi pupọ, fifi sori tuntun? Kini ti o ba wa ju kọnputa kan lọ? Ni gbogbogbo, titẹ awọn eku ni awọn ijiroro jẹ iru ere idaraya.

Dipo, Mo ti fipamọ awọn faili meji lori Dropbox ati ni bayi Mo le mu agbaye kọnputa pada si deede fere lesekese. Ati kini o ti n duro de ọpọlọpọ ọdun… Next ni ohunelo fun Windows ati macOS.

Windows

Ninu console Windows cmd.exe Eyi ni a ṣe ni awọn ipele meji:

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

Awọn ayipada gba ipa lẹsẹkẹsẹ. Bíótilẹ o daju pe ẹgbẹ ti forukọsilẹ fun olumulo kan pato, fun idi kan awọn ofin wọnyi nilo lati ṣiṣẹ bi oluṣakoso. Maṣe gbagbe lati ṣe ilọpo meji aami ogorun (%%1) nigbati o nṣiṣẹ lati faili adan kan. Aye idan ti Windows 7 Ultimate 64-bit…

MacOS

Ni MacOS o rọrun lati ṣeto awọn ẹgbẹ nipa lilo ohun elo naa duti. O ti fi sori ẹrọ nipasẹ brew install duti. Apẹẹrẹ lilo:

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

Awọn ayipada mu ipa lẹsẹkẹsẹ, ko si sudo beere. Nibi ariyanjiyan "com.apple.TextEdit" jẹ ohun ti a npe ni " id lapapo" ti eto ti a nilo. Ariyanjiyan “olootu” jẹ iru ẹgbẹ: “olootu” fun ṣiṣatunṣe, “oluwo” fun wiwo, “gbogbo” fun ohun gbogbo.

O le wa “ id lapapo” bi eleyi: ti o ba wa “/Applications/Sublime Text.app” ti ẹya kẹta, lẹhinna lapapo ID rẹ yoo jẹ “com.sublimetext.3”, tabi ọkan miiran:

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

Idanwo lori MacOS Sierra.

Iwe afọwọkọ ipari fun 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

Iwe afọwọkọ ipari fun 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

orisun: www.habr.com

Fi ọrọìwòye kun