เจธเจตเฉเจเจฒเจฟเจค เจธเฉเจเจฟเฉฐเจ เจซเจพเจเจฒ เจเจธเฉเจธเจฟเจเจธเจผเจจ, เจญเจพเจต, เจเฉฑเจ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจเฉเจฃเจจเจพ เจเฉ เจเจเจธเจชเจฒเฉเจฐเจฐ/เจซเจพเจเจเจกเจฐ เจคเฉเจ เจเฉฑเจ เจซเจพเจเจฒ เจเฉเจฒเฉเจนเฉเจเจพเฅค เจ เจคเฉ เจฎเฉเจ เจธเจพเจเจเจพ เจเจฐเจฆเจพ เจนเจพเจ.
เจชเจนเจฟเจฒเจพเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ. เจฒเฉเฉเฉเจเจฆเฉเจเจ เจเจเจธเจเฉเจเจธเจผเจจเจพเจ เจตเจพเจฒเฉเจเจ เจซเจพเจเจฒเจพเจ เจ เจเจธเจฐ เจกเจฟเจซเฉเจฒเจ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจฟเจธเฉ เจตเฉ เจเฉเจเจผ เจฆเฉเจเจฐเจพ เจจเจนเฉเจ เจเฉเจฒเฉเจนเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ, เจ เจคเฉ เจเฉ เจเจน เจเฉเจฒเฉเจนเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ, เจคเจพเจ เจเฉเจ iTunes เจฆเฉเจเจฐเจพ. เจตเจฟเฉฐเจกเฉเจเจผ เจฆเฉ เจคเจนเจฟเจค, เจชเฉเจฐเฉเจเจฐเจพเจฎเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ (เจเจพเจ เจเฉฑเจฅเฉเจ เจคเฉฑเจ เจเจฟ เจ เจฃเจเฉฐเจธเจเฉเจฒ) เจเจฐเจจ เจตเฉเจฒเฉ เจฒเฉเฉเฉเจเจฆเฉเจเจ เจเจธเฉเจธเฉเจเจธเจผเจจเจพเจ เจเจ เจตเจพเจฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเจคเจฎ เจนเฉ เจเจพเจเจฆเฉเจเจ เจนเจจ: เจเจ เจตเจพเจฐ เจคเฉเจธเฉเจ เจเฉเจฎเจช เจจเฉเฉฐ เจ เจฃเจเฉฐเจธเจเฉเจฒ เจเจฐเจฆเฉ เจนเฉ, เจ เจคเฉ เจเจเจเฉ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจเจฎ เจซเจพเจเจฒ เจฆเจฐเจธเจผเจ เจคเฉเจ เจธเจเฉเจเจกเจฐเจก เจซเฉเจเฉ เจเฉเจฒเจฐเฉ เจตเจฟเฉฑเจ เจฒเฉ เจฒเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจฟเจเจ? เจเจพเจนเจฆเฉ เจฒเจ? เจ เจเจฟเจเจค... เจเฉ เจเฉ เจฎเฉเจจเฉเฉฐ เจเฉเจ เจจเจตเจพเจ เจธเฉฐเจชเจพเจฆเจ เจเจพเจ, เจเจ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ, เจเฉฑเจ เจจเจตเฉเจ เจธเจฅเจพเจชเจจเจพ เจฎเจฟเจฒเจฆเฉ เจนเฉ? เจเฉเจเจฐ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจเฉฐเจชเจฟเจเจเจฐ เจนเจจ เจคเจพเจ เจเฉ เจนเฉเจตเฉเจเจพ? เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจธเฉฐเจตเจพเจฆเจพเจ เจตเจฟเฉฑเจ เจเฉเจนเฉ เจจเฉเฉฐ เจเจฒเจฟเฉฑเจ เจเจฐเจจเจพ เจ เจเจฟเจนเจพ เจฎเจจเฉเจฐเฉฐเจเจจ เจนเฉเฅค
เจเจธ เจฆเฉ เจฌเจเจพเจ, เจฎเฉเจ เจกเฉเจฐเฉเจชเจฌเจพเจเจธ 'เจคเฉ เจฆเฉ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเฉเจคเจพ เจนเฉ เจ เจคเฉ เจนเฉเจฃ เจฎเฉเจ เจฒเจเจญเจ เจคเฉเจฐเฉฐเจค เจเฉฐเจชเจฟเจเจเจฐ เจฆเฉ เจฆเฉเจจเฉเจ เจจเฉเฉฐ เจเจฎ เจตเจพเจเจ เจฒเจฟเจ เจธเจเจฆเจพ เจนเจพเจเฅค เจ เจคเฉ เจคเฉเจธเฉเจ เจเฉฐเจจเฉ เจธเจพเจฒเจพเจ เจคเฉเจ เจเจฟเจธ เจเฉเจเจผ เจฆเฉ เจเจกเฉเจ เจเจฐ เจฐเจนเฉ เจนเฉ... เจ เฉฑเจเฉ เจตเจฟเฉฐเจกเฉเจเจผ เจ เจคเฉ เจฎเฉเจเฉเจธ เจฒเจ เจฐเฉเจธเจฟเจชเฉ เจนเฉเฅค
Windows เจจเฉเฉฐ
เจตเจฟเฉฐเจกเฉเจเจผ เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ cmd.exe
เจเจน เจฆเฉ เจชเฉเจพเจตเจพเจ เจตเจฟเฉฑเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ:
ftype my_file_txt="C:Windowsnotepad.exe" "%1"
assoc .txt=my_file_txt
เจคเจฌเจฆเฉเจฒเฉเจเจ เจคเฉเจฐเฉฐเจค เจฒเจพเจเฉ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจเฅค เจเจธ เจคเฉฑเจฅ เจฆเฉ เจฌเจพเจตเจเฉเจฆ เจเจฟ เจเจธเฉเจธเฉเจเจธเจผเจจ เจเฉฑเจ เจเจพเจธ เจเจชเจญเฉเจเจคเจพ เจฒเจ เจฐเจเจฟเจธเจเจฐ เจเฉเจคเฉ เจเจ เจนเฉ, เจเจฟเจธเฉ เจเจพเจฐเจจ เจเจฐเจเฉ เจเจนเจจเจพเจ เจเจฎเจพเจเจกเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจฌเฉฐเจงเจ เจตเจเฉเจ เจเจฒเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจ เจคเฉ เจฌเฉเจ เจซเจพเจเจฒ เจคเฉเจ เจเฉฑเจฒเจฆเฉ เจธเจฎเฉเจ เจชเฉเจฐเจคเฉเจธเจผเจค เจเจฟเฉฐเจจเฉเจน (%%1) เจจเฉเฉฐ เจฆเฉเฉฑเจเจฃเจพ เจเจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉเฅค เจตเจฟเฉฐเจกเฉเจเจผ 7 เจ เจฒเจเฉเจฎเฉเจ 64-เจฌเจฟเฉฑเจ เจฆเฉ เจเจพเจฆเฉเจ เจฆเฉเจจเฉเจโฆ
MacOS
MacOS เจตเจฟเฉฑเจ เจเจชเจฏเฉเจเจคเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจธเฉเจธเฉเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจธเฉเฉฑเจ เจเจฐเจจเจพ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ brew install duti
. เจตเจฐเจคเฉเจ เจฆเฉ เจเจฆเจพเจนเจฐเจจ:
duti -s com.apple.TextEdit .txt "editor"
เจคเจฌเจฆเฉเจฒเฉเจเจ เจคเฉเจฐเฉฐเจค เจฒเจพเจเฉ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ, เจเจฟเจธเฉ เจธเฉเจกเฉ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจเฅค เจเฉฑเจฅเฉ เจเจฐเจเฉเจฎเฉเจเจ โcom.apple.TextEditโ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเจพ เจ เจเฉเจคเฉ โเจฌเฉฐเจกเจฒ เจเจเจกเฉโ เจนเฉ เจเจฟเจธเจฆเฉ เจธเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉเฅค โเจธเฉฐเจชเจพเจฆเจโ เจเจฐเจเฉเจฎเฉเจเจ เจเจธเฉเจธเฉเจเจธเจผเจจ เจฆเฉ เจเจฟเจธเจฎ เจนเฉ: เจธเฉฐเจชเจพเจฆเจจ เจฒเจ โเจธเฉฐเจชเจพเจฆเจโ, เจฆเฉเจเจฃ เจฒเจ โเจฆเจฐเจธเจผเจโ, เจนเจฐ เจเฉเจเจผ เจฒเจ โเจธเจญโเฅค
เจคเฉเจธเฉเจ "เจฌเฉฐเจกเจฒ เจเจเจกเฉ" เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉ: เจเฉเจเจฐ เจคเฉเจเฉ เจธเฉฐเจธเจเจฐเจฃ เจฆเจพ "/Applications/Sublime Text.app" เจนเฉ, เจคเจพเจ เจเจธเจฆเจพ เจฌเฉฐเจกเจฒ ID "com.sublimetext.3", เจเจพเจ เจเฉเจ เจนเฉเจฐ เจนเฉเจตเฉเจเจพ:
> osascript -e 'id of app "Sublime Text"'
com.sublimetext.3
เจฎเฉเจเฉเจธ เจธเฉเจเจฐเจพ 'เจคเฉ เจเฉเจธเจ เจเฉเจคเจพ เจเจฟเจเฅค
เจตเจฟเฉฐเจกเฉเจเจผ (.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
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
เจธเจฐเฉเจค: www.habr.com