2024. május 1., szerda

Gyorskeresés

Blog

[ ÚJ BEJEGYZÉS ]   [ ÚJ CIKK ]

  • Far Manager - Lua

    A Far Manager 3. verziójának nagy újdonsága a beépített Lua nyelvi támogatás volt: az alkalmazás szinte minden rétegében futtathatóvá váltak a Lua programocskák, legyen az akár fájlnév beviteli-mező (pl. Backup-?os.date("%Y-%m-%d")?.zip), hotkey, macro vagy plugin.

    Munkám kapcsán jelentős számban készítek szövegeket, melyeket a végén magyar nyelven kiírt hónapnévvel ellátott dátummal kell ellátni, így ennek automatizálását terveztem a hétvégére. Makrót készíteni azonban oly egyszerű, hogy már péntek délutánra kész lett:

    %FARPROFILE%\Macros\internal\CurrentDate.lua
    (ebbe a könyvtárba kerülnek a felhasználói szkriptek, UTF8 karakter-kódolással)

    Macro {
    description="Inserts current date";
    area="Editor";
    key="CtrlShiftF5";
    flags="";
    action=function()
    monnames = { "január", "február", "március", "április", "május", "június", "július",
    "augusztus", "szeptember", "október", "november", "december" }
    now = os.date("*t")
    print(now.year .. ". " .. monnames[now.month] .. " " .. now.day .. ".")
    end;
    }

    Folytatás...

    alapz@j 9 éve 0

  • Far Manager - view:, edit:, tmp: és egy további trükk

    A view:, az edit: és a tmp: a Far nézegető, szerkesztő és temp-panel moduljának nevei, melyek segítségével azokra tetszőleges tartalom irányítható át. Így

    view:<dir
    edit:<dir
    tmp:<dir /B

    Ez utóbbi esetben a /B azért szükséges, mert alapértelmezésben a temp-panel elemeinek valós fájlokra kell mutatniuk, de a dir parancs túl bőbeszédű. Ez a kitétel a +any paranccsal megkerülhető, de az eredmény - jelen esetben - érdekes lesz:

    tmp:+any<dir

    Mindezek segítségével könnyen elkészíthető egy primitív GUI pl. egy nem támogatott archiváló programhoz is:

    .arc fájlokhoz hozzárendelt View parancs: view:<arc.exe lb "!.!"
    .arc fájlokhoz hozzárendelt Execute parancs: tmp+any<arc.exe lb "!.!"

    Az Edit parancsra pedig mehet a kicsomagolás, egy további trükkel megspékelve

    arc.exe x -dp!?Destination:?! "!.!"

    A !?xxx?yyy! makro egy dialógust dob fel, melyben az xxx jelenti a bekérni kívánt mező fejlécét az yyy pedig az alapértelmezett értéket. A felhasználó által megjelölt hely lesz az arc.exe -dp parancsának paramétere, amely egyben a kicsomagolás helye.

    alapz@j 10 éve 0

  • Far Manager - meghajtófüggetlen programindítás

    Sajnos az utóbbi időben egyre gyakrabban fordult elő, hogy a munkahelyen megkezdett munka csak otthon került befejezésre illetve a hétvégén megkezdett munkát a munkahelyen folytattam. A két számítógép közötti adathordozást egy WD Passport külső merevlemez végezte, melyre egy idő után az adatok mellé a használt alkalmazások is felkerültek, hogy mindkét helyen a megszokott munkakörnyezet álljon rendelkezésre.

    Kényelmetlennek és kevéssé elegánsnak találtam viszont azt, hogy a lemez csatlakoztatása után keresni kell a meghajtót, a könytárakat és az exe fájlokat: lelki szemeim előtt felrémlett a meghajtó betűjelétől függetlenül a felhasználói menüből indítható portable szoftverek megható képe.

    A megoldás pedig: wmic - a Windows alaprendszer részét képező, admin jogosultságok nélkül is használható, sql-szerűen paraméterezhető interfész a lemezkezelő szolgáltatáshoz.

    Kérek egy csv listát azokról a meghajtókról, melyek volume-neve egyezik a külső meghajtóéval:

    wmic logicaldisk where "VolumeName='My Passport'" get /format:csv

    tokenizáljuk az eredményt:

    for /f "skip=2 tokens=3 delims=," %G in ('wmic logicaldisk where "VolumeName='My Passport'" get /format:csv') do echo %G

    a végeredmény a keresett külső meghajtó betűjele. Innen már csak egy ugrás a sugár:

    Folytatás...

    alapz@j 11 éve 0

  • Far Manager - UTF8 kódlap induláskor

    Állandó probléma, hogy a Windows command processor (aka cmd) alapértelmezett kódlapja nem állítható be könnyedén és főleg nem unicode készletre. Erre az alábbi megoldást találtam:

    ctrl+. (makró felvétele)
    chcp 65001 (utf8 kódlap)
    ctrl+shift+. (makró mentése opciókkal)
    billentyűparancs és jellemzés felvitele
    majd az opciók közöt az "Execute after Far start" beállítása.

    A program újraindítása után tesztelhetjük:

    > chcp
    Aktív kódlap: 65001

    A .cmd/.bat fájlok létrehozásakor csak arra kell figyelni,hogy BOM nélküli UTF8 legyen a kódolás.

    alapz@j 11 éve 0

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.