По этой заготовке я сконструировал макрос, исходя из практикуемого мною на текущий момент распределения расширений файлов по группам масок в Фаре.
- Текущее меню "Группы масок файлов"
- groupsOfFileMasksMenu.png (313.12 KiB) Viewed 3725 times
Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<farconfig version="3.0.4237">
<generalconfig>
<setting key="Masks" name="PATHEXT" type="text" value="%PATHEXT%" />
<setting key="Masks" name="all" type="text" value="<arc>,<arch>,<audio>,<conf>,<dataB>,<exe>,<exec>,<fileView>,<info>,<iso>,<media>,<office>,<photo>,<pict>,<playlist>,<rastr>,<script>,<temp>,<text>,<uniview>,<vector>,<video>,<PATHEXT>" />
<setting key="Masks" name="arc" type="text" value="*.[ar][0-9][0-9],*.[bg]zip,*.[bg7]z,*.[jrt]ar,*.[lw]sz,*.[zj],*.777,*.7z,*.a[0-9][0-9],*.ac[bei],*.ain,*.ar[cj],*.boa,*.bs[2a],*.bz2,*.cab,*.chz,*.cpio,*.ddi,*.dir,*.fmlu_,*.gz,*.h[ay]p,*.ha,*.hmlu_,*.hpk,*.hqx,*.ice,*.imp,*.jar,*.lha,*.lim,*.lu_,*.lzh,*.lzma,*.msi,*.pa[ck],*.pak01,*.r[0-9][0-9],*.rar,*.rk[v],*.rpm,*.sea,*.sit,*.sqz,*.t[agbx]z,*.tar,*.uc2,*.ufa,*.vpk,*.x2,*.xpi,*.zip,*.zoo" />
<setting key="Masks" name="arch" type="text" value="*.[ar][0-9][0-9],*.[bg]zip,*.[bg7]z,*.[jrt]ar,*.[lw]sz,*.[zj],*.777,*.7z,*.a[0-9][0-9],*.ac[bei],*.ain,*.ar[cj],*.boa,*.bs[2a],*.bz2,*.cab,*.chz,*.cpio,*.ddi,*.dir,*.fmlu_,*.gz,*.h[ay]p,*.ha,*.hmlu_,*.hpk,*.hqx,*.ice,*.imp,*.jar,*.lha,*.lim,*.lu_,*.lzh,*.lzma,*.msi,*.pa[ck],*.pak01,*.r[0-9][0-9],*.rar,*.rk[v],*.rpm,*.sea,*.sit,*.sqz,*.t[agbx]z,*.tar,*.uc2,*.ufa,*.vpk,*.x2,*.xpi,*.zip,*.zoo" />
<setting key="Masks" name="audio" type="text" value="*.mp3,*.aa,*.aac,*.amr,*.ape,*.asf,*.cda,*.flac,*.gp3,*.gp4,*.gp5,*.gtp,*.midi,*.mmf,*.mod,*.mt9,*.ogg,*.s3m,*.stm,*.voc,*.wav,*.wma" />
<setting key="Masks" name="conf" type="text" value="*.ini,*._,*.au3,*.cfg,*.conf,*.config,*.farconfig,*.json,*.m3u,*.ms[ct],*.plc,*.prefs,*.rdf,*.reg,*.sav,*.set,*.torrent,*.vlx,*.xml,.htaccess,.htpasswd,catalog,makefile*" />
<setting key="Masks" name="dataB" type="text" value="*.[kp]wm,*.[op]st,*.cer,*.db,*.md5,*.p12,*.p7b,*.pem,*.pfx,*.pgp,*.sql,*.sqlite" />
<setting key="Masks" name="exe" type="text" value="*.app,*.ax,*.bin,*.com,*.ds,*.?ll,*.ex_,*.exe,*.exopc,*.gadget,*.gpu,*.icd,*.jar,*.lib,*.obj,*.ocx,*.paf,*.prg,*.sys,*.vexe,*.widget,*.wiz,*.zl9" />
<setting key="Masks" name="exec" type="text" value="*.?ll,*.apk,*.app,*.au3,*.awk,*.ax,*.bat,*.bin,*.btm,*.cmd,*.com,*.cpl,*.deb,*.ds,*.ex_,*.exe,*.exopc,*.gadget,*.gpu,*.icd,*.inf,*.jar,*.js,*.jse,*.lib,*.ms[ipu],*.obj,*.ocx,*.paf,*.php,*.prg,*.scr,*.sed,*.sfx,*.sh,*.shs,*.sis,*.sisx,*.sys,*.vbe,*.vbs,*.vexe,*.widget,*.wiz,*.wsf,*.wsh,*.zl9" />
<setting key="Masks" name="fileView" type="text" value="*.cdt,*.cpt,*.csv,*.dbf,*.doc,*.docx,*.docm,*.dot,*.dotm,*.dotx,*.dwg,*.dxf,*.indd,*.indt,*.ini,*.mpp,*.mpt,*.mst,*.pat,*.pdf,*.pmd,*.pot,*.potm,*.potx,*.ppa,*.ppam,*.pps,*.ppsm,*.ppsx,*.ppt,*.pptm,*.pptx,*.pub,*.qpw,*.qxd,*.qxt,*.rrm,*.rtf,*.scx,*.shw,*.sxd,*.sxi,*.sxw,*.thmx,*.txt,*.vdx,*.vsd,*.vst,*.vsx,*.vtx,*.wcm,*.wks,*.wpd,*.wpg,*.wps,*.wpt,*.xla,*.xlam,*.xls,*.xlsb,*.xlsm,*.xlsx,*.xlt,*.xltm,*.xltx,*.xps,*.dbx,*.eml,*.msg,*.oft,*.pbx,*.pst,*.wab,*.bko,*.bk1,*.bk2,*.bk3,*.bk4,*.bk5,*.bk6,*.bk7,*.bk8,*.d04,*.d05,*.mbf,*.mny,*.ofc,*.q00,*.q01,*.q02,*.q03,*.q04,*.q05,*.q98,*.qaa,*.qbb,*.qbw,*.qbx,*.qdb,*.qdf,*.qdt,*.qel,*.qif,*.qph,*.t01,*.t02,*.t03,*.t04,*.t05,*.ta0,*.ta1,*.ta2,*.ta3,*.ta4,*.ta5,*.ta6,*.ta7,*.ta8,*.ta9,*.tax,*.669,*.aac,*.acp,*.aif,*.amf,*.amr,*.apl,*.asx,*.atrac,*.au,*.bwf,*.cda,*.far,*.flac,*.it,*.kar,*.m3u,*.m3ul,*.m4a,*.m4b,*.m4p,*.mdz,*.mid,*.midi,*.miz,*.mod,*.mp1,*.mp2,*.mp3,*.mpga,*.mtm,*.nsa,nst,*.ogg,*.okt,*.pls,*.ptm,*.qcp,*.rmi,*.rp,*.rpl,*.rt,*.s3m,*.s3z,*.sdp,*.shn,*.smf,*.smi,*.smil,*.sml,*.snd,*.ssm,*.stm,*.stz,*.ult,*.ulw,*.voc,*.wav,*.wax,wma,*.wmx,*.wpl,*.xm,*.xmz,*.xpl,*.ai,*.ait,*.ant,*.art,*.b3d,*.amp,*.cam,*.can,*.cdr,*.cgm,*.cin,*.clp,*.cmt,*.cr2,*.crw,*.cur,*.dcm,*.dcx,*.dds,*.dib,*.djvu,*.drw,*.drz,*.emf,*.epfsi,*.eps,*.fax,*.fcx,*.fi,*.fmf,*.fpx,*.ftf,*.fxo,*.fxs,*.g3,*.g3n,*.gif,*.gmf,*.grb,*.gro,*.gsm,*.gtif,*.hpi,*.icb,*.icl,*.ico,*.ilbm,*.img,*.iw44,*.j6i,*.jfif,*.jpe,*.jpeg,*.jpg,*.k25,*.kdc,*.kop,*.lmb,*.lwi,*.mac,*.macp,*.mix,*.mng,*.mpnf,*.php,*.pict,*.pmg,*.pmp,*.png,*.pnm,*.pnt,*.pntg,*.pp4,*.pp5,*.ppm,*.ps,*.psd,*.psp,*.pspimage,*.qti,*.raf,*.raw,*.rgb,*.rle,*.rppm,*.sci,*.sgi,*.srf,*.svf,*.svg2,*.targa,*.thm,*.tif,*.tiff,*.vda,*.3ga,*.3gp,*.3gp2,*.amc,*.asf,*.avi,*.cdda,*.dif,*.dv,*.dvr-ms,*.flc,*.fli,*.ivf,*.m2v,*.m4e,*.m4v,*.m75,*.mlv,*.mov,*.mp2v,*.mp4,*.mpe,*.mpeg,*.mpg,*.mpm,*.mps,*.mpv2,*.mswmm,*.nsv,*.qt,*.qtl,*.qts,*.rm,*.rmvb,*.rts,*.rtsp,*.rv,*.sdv,*.swf,*.vfw,*.webp,*.wm,*.wmd,*.wmv,*.wmz,*.wvx,*.rar,*.zip" />
<setting key="Masks" name="info" type="text" value="*.hlp,*.chm,*.cnt,*.gid,*.chi,*.htm,*.html,*.shtml,*.mht,*.maff,*.manifest,Descript.ion,Files.bbs,File_ID.diz,ReadMe.*,*.manifest,Descript.ion,Files.bbs,File_ID.diz,*WhatsNew*,*FAQ*" />
<setting key="Masks" name="iso" type="text" value="*.iso,*.bin,*.bwt,*.c2d,*.ccd,*.cdi,*.cif,*.cue,*.fcd,*.gcd,*.gi,*.im[agz],*.md[fs],*.nrg,*.p01,*.pdi,*.pxi,*.tib,*.v[cfh]d,*.wim" />
<setting key="Masks" name="media" type="text" value="*.[ew]mf,*.[gt]if,*.3g2,*.3gp,*.3gp2,*.3gpp,*.3mm,*.60d,*.669,*.6cm,*.8cm,*.8med,*.8svx,*.aac,*.abc,*.ac3,*.act,*.ai,*.aif,*.aifc,*.aiff,*.ajp,*.al,*.alaw,*.amr,*.ani,*.ape,*.asf,*.asx,*.au,*.aud,*.avi,*.avr,*.avs,*.band,*.bix,*.bmp,*.bmp,*.bmx,*.box,*.byu,*.cda,*.cdr,*.cel,*.cin,*.cmf,*.cmx,*.cpt,*.cur,*.cvc,*.d00,*.d01,*.dce,*.dib,*.divx,*.djvu,*.dpx,*.drw,*.dss,*.dts,*.dv,*.dvf,*.dvr-ms,*.dw[fg],*.dxf,*.dxf,*.dxr,*.ear,*.emf,*.eps,*.eps,*.exr,*.eye,*.far,*.fla,*.flac,*.flc,*.fli,*.flv,*.flx,*.gif,*.gl,*.grasp,*.gvi,*.gvp,*.icns,*.ico,*.ico,*.ief,*.iff,*.imovieproject,*.it,*.ivf,*.ivs,*.izz,*.jfi,*.jfif,*.jif,*.jiff,*.jp2,*.jpe,*.jpeg,*.jpeg,*.jpg,*.jpg,*.kar,*.kin,*.ktp,*.lsf,*.lso,*.m1v,*.m2v,*.m4a,*.m4b,*.m4e,*.m4p,*.m4u,*.m4v,*.ma1,*.mac,*.med,*.mfx,*.mid,*.midi,*.mka,*.mkv,*.mmf,*.mng,*.mod,*.moov,*.mov,*.movie,*.mp_,*.mp2,*.mp2v,*.mp3,*.mp4,*.mpa,*.mpc,*.mpe,*.mpeg,*.mpeg4,*.mpg,*.mpgv,*.mpu,*.mpv,*.mpv2,*.msv,*.mtm,*.mvb,*.mvc,*.nap,*.nef,*.nvc,*.ogg,*.ogm,*.ogv,*.omf,*.paf,*.pamp,*.pbm,*.pca,*.pcm,*.pct,*.pcx,*.pcx,*.pgm,*.pic,*.png,*.png,*.pnm,*.ppm,*.prproj,*.ps,*.psd,*.psd,*.pvc,*.qt,*.qtch,*.qxd,*.r3d,*.ra,*.ram,*.ras,*.raw,*.rfl,*.rgb,*.rm,*.rmf,*.rmi,*.rmvb,*.rmx,*.rp,*.rts,*.rv,*.rw2,*.s3m,*.saf,*.scm,*.sd2,*.sdx,*.sf,*.sf2,*.sfk,*.sgi,*.sib,*.smf,*.smil,*.smp,*.smv,*.snd,*.sng,*.spl,*.sprg,*.sseq,*.ssm,*.ssnd,*.svg,*.svi,*.svx,*.sw,*.swa,*.swf,*.tfmx,*.tga,*.tga,*.thx,*.tif,*.tiff,*.tiff,*.toc,*.tsp,*.ub,*.val,*.vfw,*.vid,*.viewlet,*.viv,*.vivo,*.vmf,*.vob,*.voc,*.voi,*.vox,*.vrf,*.w64,*.wav,*.wave,*.webp,*.wm,*.wma,*.wmd,*.wmf*.wmp,*.wmv,*.wrk,*.xbm,*.xm,*.xmi,*.xpm,*.xvid,*.xwd,*ahx,*vro" />
<setting key="Masks" name="nothing" type="text" value="*.*|<all>" />
<setting key="Masks" name="office" type="text" value="*.accd[bert],*.chi,*.chm,*.css,*.fmlua,*.hlp,*.lua,*.md[ab],*.mht,*.mp[pt],*.msg,*.od[stpbgf],*.oft,*.one,*.pdf,*.pot[mx],*.pp[st][mx],*.ppam,*.pps[mx],*.ppt[mx],*.rtf,*.thmx,*.vsd,*.vss,*.vst,*.xl[st][mx],*.xlam,*.xlb,*.xlc,*.xls[bmx],*.xlt[mx],*.xps,*.xsn" />
<setting key="Masks" name="photo" type="text" value="*.bmp,*.jpg,*.jpeg,*.tif,*.tiff,*.raw,*.crw,*.orf,*.3fr,*.nef,*.raf,*.mrw,*.nrw,*.drg,*.cr2,*.arw,*.x3f,*.rw2" />
<setting key="Masks" name="pict" type="text" value="*.[ew]mf,*.[gt]if,*.bmp,*.cdr,*.cpt,*.dw[fg],*.dxf,*.eps,*.ico,*.jpeg,*.jpg,*.pamp,*.pcx,*.png,*.psd,*.raw,*.rw2,*.tga,*.webp,*.tiff" />
<setting key="Masks" name="playlist" type="text" value="*.fpl,*.m3u,*.pls,*.cue" />
<setting key="Masks" name="pthxt" type="text" value="*.com,*.exe,*.bat,*.cmd,*.vbs,*.vbe,*.js,*.jse,*.wsf,*.wsh,*.msc" />
<setting key="Masks" name="rastr" type="text" value="*.bmp,*.cpt,*.gif,*.hdp,*.hdr,*.jp2,*.jpe,*.jpeg,*.jpg,*.pcx,*.pdn,*.png,*.psd,*.raw,*.tga,*.tif,*.tiff,*.tpic,*.wdp,*.webp,*.xpm" />
<setting key="Masks" name="script" type="text" value="*.acr,*.actm,*.ahk,*.asb,*.awk,*.bat,*.cgi,*.cmd,*.csh,*.dek,*.dmc,*.dxl,*.ebm,*.ecf,*.es,*.esh,*.ezs,*.fky,*.fpi,*.frs,*.hms,*.hta,*.iim,*.ipf,*.isu,*.js,*.jse,*.jsx,*.kix,*.ls,*.mcr,*.mel,*.mem,*.mrc,*.ms,*.mst,*.mxe,*.obs,*.otm,*.paf,*.phar,*.pif,*.plsc,*.plx,*.prc,*.prg,*.prg,*.ps1,*.pvd,*.pyo,*.rgs,*.sbs,*.scar,*.scb,*.scr,*.script,*.sct,*.shb,*.shs,*.spr,*.tcp,*.tlb,*.tms,*.u3p,*.udf,*.upx,*.vb,*.vbe,*.vbs,*.vbscript,*.vlx,*.wcm,*.wpk,*.ws,*.wsf,*.xap,*.xbap,*.xqt,*.xys" />
<setting key="Masks" name="temp" type="text" value="*.bak,*.tmp, *.~tmp,*.temp,*.old,*.url,*.*log,*.map,*.$$$,*.*~*,~$*.*,descript.ion,thumbs.db,*.*_" />
<setting key="Masks" name="text" type="text" value="*.asax,*.asc,*.ascx,*.asmx,*.asp,*.aspx,*.ass,*.cnt,*.csv,*.dic[t],*.diz,*.eml,*.eng,*.hr[cd],*.hta,*.htm,*.html,*.ics,*.info,*.jad,*.lng,*.log,*.lst,*.maff,*.map,*.mht,*.mib,*.msc,*.nfo,*.php,*.plg,*.rdp,*.reg,*.rus,*.srg,*.srt,*.tex,*.txt,*.vrml,*.xhtml,*.xml,*.xsc,*.xsd,*.xsl,*.xslt,*.xss,*.xsx,*changelog*,copying,credits,descript.ion,dirinfo.,file_id.diz,files.bbs,install,license,readme*,todo,whatsnew*" />
<setting key="Masks" name="uniview" type="text" value="*.doc,*.dot,*.docx,*.docm,*.dotx,*.dotm,*.xls,*.xlt,*.xlsx,*.xltx,*.pdf,*.rtf,*.vwbk,*.txt,*.vnfo,*.diz,*.od?,*.ot?,*.sx?,*.st?,*.xps,*.djv,*.djvu,*.cbr,*.vcbz,*.asp,*.aspx,*.css,*.htm,*.html,*.shtml,*.shtm,*.stm,*.mht,*.php,*.xml,*.xsl,*.ani,*.bmp,*.bw,*.cel,*.cur,*.cut,*.dib,*.emf,*.eps,*.fax,*.gif,*.icb,*.icl,*.ico,*.jp2,*.jpc,*.jpg,*.jpeg,*.jpe,*.jfif,*.pal,*.pbm,*.pcc,*.pcx,*.pcd,*.pdd,*.pgm,*.pic,*.png,*.pnm,*.ppm,*.psd,*.psp,*.ras,*.rgb,*.rgba,*.rla,*.rle,*.rpf,*.sgi,*.tga,*.tif,*.tiff,*.vda,*.vst,*.webp,*.win,*.wmfuni" />
<setting key="Masks" name="vector" type="text" value="*.cdr,*.ai,*.cgm,*.emf,*.eps,*.ps,*.svg,*.wmf" />
<setting key="Masks" name="video" type="text" value="*.avi,*.3gp[p],*.aaf,*.asf,*.bik,*.cpk,*.flv,*.m[4ko]v,*.mov,*.mp[4g],*.mpeg,*.mts,*.mxf,*.nsv,*.nut,*.ogg,*.ogm,*.pva,*.qt,*.real,*.roq,*.smk,*.swf,*.vivo,*.vob,*.wmv" />
</generalconfig>
</farconfig>
Code: Select all
Macro {area="Shell"; key="ShiftF10 CtrlF14";
description="&m в каких группах масок файлов присутствует расширение файла под курсором (по farman) ShiftF10";
flags="NoPluginPanels";
action=function()
-- есть ли раширение файла под курсором в группах масок файлов?
-- farman Tue 06 Jan, 2015 20:15 http://forum.farmanager.com/viewtopic.php?p=127156#p127156";
local fnExt = mf.fsplit(APanel.Current,0x8)
local aFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<arc>", fnExt);
if aFound then a=" <arc>" else a=""
end;
local bFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<arch>", fnExt);
if bFound then b=" <arch>" else b=""
end;
local cFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<audio>", fnExt);
if cFound then c=" <audio>" else c=""
end;
local dFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<conf>", fnExt);
if dFound then d=" <conf>" else d=""
end;
local eFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<dataB>", fnExt);
if eFound then e=" <dataB>" else e=""
end;
local fFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<exe>", fnExt);
if fFound then f=" <exe>" else f=""
end;
local gFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<exec>", fnExt);
if gFound then g=" <exec>" else g=""
end;
local hFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<fileView>", fnExt);
if hFound then h=" <fileView>" else h=""
end;
local iFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<info>", fnExt);
if iFound then i=" <info>" else i=""
end;
local jFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<iso>", fnExt);
if jFound then j=" <iso>" else j=""
end;
local kFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<media>", fnExt);
if kFound then k=" <media>" else k=""
end;
local lFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<office>", fnExt);
if lFound then l=" <office>" else l=""
end;
local mFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<photo>", fnExt);
if mFound then m=" <photo>" else m=""
end;
local nFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<pict>", fnExt);
if nFound then n=" <pict>" else n=""
end;
local oFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<playlist>", fnExt);
if oFound then o=" <playlist>" else o=""
end;
local pFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<rastr>", fnExt);
if pFound then p=" <rastr>" else p=""
end;
local qFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<script>", fnExt);
if qFound then q=" <script>" else q=""
end;
local rFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<temp>", fnExt);
if rFound then r=" <temp>" else r=""
end;
local sFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<text>", fnExt);
if sFound then s=" <text>" else s=""
end;
local tFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<uniview>", fnExt);
if tFound then t=" <uniview>" else t=""
end;
local uFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<vector>", fnExt);
if uFound then u=" <vector>,"; else u=""
end;
local vFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<video>", fnExt);
if vFound then v=" <video>" else v=""
end;
local wFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<PATHEXT>", fnExt);
if wFound then w=" <PATHEXT>" else w=""
end;
local xFound=far.ProcessName (far.Flags.PN_CMPNAMELIST, "<nothing>", fnExt);
if xFound then x=" ни в какой!" else x=""
end;
far.Message ("присутствует в группе(ах) масок файлов:"..a..b..c..d..e..f..g..h..i..j..k..l..m..n..o..p..q..r..s..t..u..v..w..x,"расширение " .. fnExt) --- ..y..z
end;
}
Этот макрос весьма удобен в среде конкретных настроек групп масок файлов.
Однако для применения его в отличающихся вариантах настроек его надо соответственно подстраивать вручную. И по мере внесения изменений и дополнений в группы масок файлов в данном Фаре тоже каждый раз необходимо не забывать вносить соответствующие изменения и дополнения в установленный макрос, и опять же вручную.
В связи с этим вопрос: есть ли способ унифицировать макрос так, чтобы он сам подстраивался под актуальный набор групп масок файлов?