@echo off set TOOLS=%SystemDrive%\tools set ARG1=null IF "%~1" NEQ "" set ARG1=%1 if /I %ARG1% == /? goto usage echo ####### %0 ####### set AKA=irfanview set BINARY="%PROGRAMFILES%\IrfanView\i_view64.exe" set SUFFIX=acr ani b3d bmp dib clp crw cr2 cr3 cur dcm ima dcx dds djvu iw44 dxf ^ ecw emf eps ps exr g3 gif hdp jxr wdp heic ico iff lbm jls jp2 jpc j2k ^ jpg jpeg jpe jpm mng jng pbm pcd pcx pgm png ppm psd psp ras sun raw rle ^ sff sgi rgb sid tga tif tiff wbmp webp wmf xbm xpm swf flv ttf asf avi ^ mpg mpe mpeg mov wmv aif mid rmi mp3 ogg au snd wav wma call :SFTA set AKA=SumatraPDF set BINARY="%TOOLS%\SumatraPDF.exe" set SUFFIX=pdf epub mobi fb2 fb2z pdb tcr cbz cbr cbt cb7 djv djvu chm xps oxps xod call :SFTA set AKA=Presentations set BINARY="%PROGRAMFILES%\Softmaker Office 2021\Presentations.exe" if NOT exist %BINARY% set BINARY="%PROGRAMFILES%\Softmaker Office 2024\Presentations.exe" if NOT exist %BINARY% set BINARY="%PROGRAMFILES(x86)%\Softmaker FreeOffice 2021\Presentations.exe" set SUFFIX=prdx prsx prvx prd prv call :SFTA set AKA=PlanMaker set BINARY="%PROGRAMFILES%\Softmaker Office 2021\Planmaker.exe" if NOT exist %BINARY% set BINARY="%PROGRAMFILES%\Softmaker Office 2024\Planmaker.exe" if NOT exist %BINARY% set BINARY="%PROGRAMFILES(x86)%\Softmaker FreeOffice 2021\Planmaker.exe" set SUFFIX=pmd pmdx pmv pmvx call :SFTA set AKA=TextMaker set BINARY="%PROGRAMFILES%\Softmaker Office 2021\Textmaker.exe" if NOT exist %BINARY% set BINARY="%PROGRAMFILES%\Softmaker Office 2024\Textmaker.exe" if NOT exist %BINARY% set BINARY="%PROGRAMFILES(x86)%\Softmaker FreeOffice 2021\Textmaker.exe" set SUFFIX=doc docx dot dotx odt call :SFTA set AKA=Powerpoint set BINARY="%PROGRAMFILES%\Microsoft Office\root\Office16\powerpnt.exe" set SUFFIX=pptx pptm ppt potx potm pot ppsx ppsm pps ppam ppa odp call :SFTA set AKA=Excel set BINARY="%PROGRAMFILES%\Microsoft Office\root\Office16\excel.exe" set SUFFIX=xls xlsx xlsm xlsb xlt xltx xltm xlam xla ods call :SFTA set AKA=Word set BINARY="%PROGRAMFILES%\Microsoft Office\root\Office16\winword.exe" set SUFFIX=doc docx docm dot dotx dotm odt rtf call :SFTA set AKA=PureBasic set BINARY="%PROGRAMFILES%\PureBasic\PureBasic.exe" set SUFFIX=pb pbi pbp pbf call :SFTA set AKA=emClient set BINARY="%PROGRAMFILES(x86)%\eM Client\MailClient.exe" set SUFFIX=eml call :SFTA set AKA=VScode set BINARY="%PROGRAMFILES%\Microsoft VS Code\Code.exe" set SUFFIX=c md sh bash py go call :SFTA set AKA=VLC set BINARY="%PROGRAMFILES%\VideoLAN\VLC\vlc.exe" set SUFFIX=3g2 3gp 3gp2 3gpp amv asf avi bik divx drc dv dvr-ms evo f4v flv gvi gxf m1v m2t m2ts m4v mkv mov ^ mp2 mp2v mp4 mp4v mpe mpeg mpeg1 mpeg2 mpeg4 mpg mpv2 mts mtv mxf mxg nsv nuv ogg ogm ogv ogx ^ rec rm rmvb rpl thp tod tp ts tts txd vob vro webm 3ga 669 a52 aac ac3 adt adts aif aifc aiff amb ^ amr aob ape au awb caf dts flac it kar m4a m4b m4p m5p mid mka mlp mod mpa mp1 mp3 mpc mpga mus oga ^ oma opus qcp ra rmi s3m sid spx tak thd tta voc vqf w64 wav wma wv xa xm asx b4s cue ifo m3u m3u8 ^ pls sdp vlc xspf wvx call :SFTA set AKA=Python set BINARY="%PROGRAMFILES%\Python39\python.exe" set SUFFIX=py call :SFTA rem refresh desktop (W10 style) ie4uinit.exe -show echo ####### %0 ####### goto END rem #################################################### rem set filetypes with tool "sfta" ... :SFTA set FILETYPE_DONE="%LOCALAPPDATA%\.filetype_done.%AKA%" if NOT EXIST %BINARY% ( echo INFO: [ %BINARY% ] is not installed. goto :eof ) else ( echo working on [ %AKA% ] ... ) rem use the FORCE Luke! if /I %ARG1% == /F ( del /F /Q %FILETYPE_DONE% 2>nul ) rem do the work HERE! if NOT EXIST %FILETYPE_DONE% ( for %%A in ( %SUFFIX% ) do ( echo registering file type [ .%%A ] for [ %AKA% ]... sfta --reg %BINARY% .%%A ) rem create a statusfile ... echo 1 >%FILETYPE_DONE% ) goto :eof rem #################################################### :USAGE echo. echo "usage: %0 [/F|/?]" echo " /F = force " echo " /? = show help" echo. :END