Маленькие хитрости 4os2, REXX и WPS [0x00]

Уж несколько лет как мною нежно любим бывший шароварный, а ныне опенсурсный шелл 4os2. Среди прочих приятностей в нём присутствует и запуск по расширению. Скажем если прописать в CONFIG.SYS

SET .pl=S:\OS2\APPS\perl5\bin\perl.exe

то при вводе в командную строку файла с расширением .pl он отправится на выполнение перлу. Всё хорошо, но прописывать кучу системных переменных на все расширения это засорять конфиг и плодить лишние сущности. Но это-же OS/2! Как оказалось, если прописать в CONFIG.SYS строчку вида

SET .*=S:\Scripts\WPSOpen.cmd

где WPSOpen.cmd простенький до безобразия скрипт на REXX]],

WPSOpen.cmd
/* Classic REXX
   Simple WPS associations runner for 4OS2
   INSTALLATION:
    1. Put WPSOpen.cmd то directory in PATH environment
    2. add SET .*=WPSOpen.cmd to your CONFIG.SYS
*/

/* REXX util registration. */
IF RxFuncQuery('SysLoadFuncs') THEN DO
 CALL RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
 CALL SysLoadFuncs
END

/* Get filename. */
PARSE ARG CMDL

/* Check Argument present. */
IF ARG() = 0 THEN DO
 Say 'Usage:  WPSOpen.cmd FileName'
 Exit 1
END

/* Handle quoted / unquoted string. */
IF Pos( '"', CMDL ) > 0 THEN
    PARSE ARG '"'FileName'"'
ELSE
    PARSE ARG FileName

/* Open file via WPS */
CALL SysSetObjectData FileName, "OPEN="DEFAULT";"

то набрав в командной строке, например:

[f:\music]"08. An eye for an eye.mp3"

мы увидим окошко любимого плеера и услышим музыку. При этом если в конфиг сисе прописаны другие ассоциации (на тот-же перл или питон) то они как работали так и будут продолжать работать не через WPS-ассоциации.

Обсуждение

Введите ваш комментарий
 
 
blog/vadim_priluzkiy/22-07-2010-malenkie_xitrosti_4os2_rexx_i_wps_0x00.txt · Последние изменения: 22/10/2011 02:56 — oxyd
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki