Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
|
blog:vadim_priluzkiy:22-07-2010-malenkie_xitrosti_4os2_rexx_i_wps_0x00 [22/07/2010 09:14] oxyd создано |
blog:vadim_priluzkiy:22-07-2010-malenkie_xitrosti_4os2_rexx_i_wps_0x00 [05/09/2010 18:21] (текущий) oxyd Прака оформления. Предыдущее - Глобальная правка оформления. |
||
|---|---|---|---|
| Строка 4: | Строка 4: | ||
| {{tag>4os2 wps rexx}} | {{tag>4os2 wps rexx}} | ||
| - | Уж несколько лет как мною нежно любим бывший шароварный, а ныне опенсурсный шелл 4os2. Среди прочих приятностей в нём присутствует и запуск по расширению. Скажем если прописать в CONFIG.SYS | + | Уж несколько лет как мною нежно любим бывший шароварный, а ныне опенсурсный шелл 4os2. Среди прочих приятностей в нём присутствует и запуск по расширению. Скажем если прописать в //CONFIG.SYS// |
| - | "SET .pl=S:\OS2\APPS\perl5\bin\perl.exe" то при вводе в командную строку файла с расширением ".pl" он отправится на выполнение перлу. Всё хорошо, но прописывать кучу системных переменных на все расширения это засорять конфиг и плодить лишние сущности. Но это-же OS/2! Как оказалось, если прописать в CONFIG.SYS строчку вида "set .*=S:\Scripts\WPSOpen.cmd" где WPSOpen [[http://pastebin.com/vWnnY6KD|простенький до безобразия скрипт на REXX]], то набрав в командной строке, например, [f:\music]"08. An eye for an eye.mp3", мы увидим окошко любимого плеера и услышим музыку. При этом если в конфиг сисе прописаны другие ассоциации (на тот-же перл или питон) то они как работали так и будут продолжать работать не через WPS-ассоциации. | + | <file>SET .pl=S:\OS2\APPS\perl5\bin\perl.exe</file> то при вводе в командную строку файла с расширением **.pl** он отправится на выполнение перлу. Всё хорошо, но прописывать кучу системных переменных на все расширения это засорять конфиг и плодить лишние сущности. Но это-же OS/2! Как оказалось, если прописать в //CONFIG.SYS// строчку вида <file>SET .*=S:\Scripts\WPSOpen.cmd</file> где **WPSOpen.cmd** [[http://pastebin.com/vWnnY6KD|простенький до безобразия скрипт на REXX]], |
| + | <code> | ||
| + | /* 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";" | ||
| + | </code> | ||
| + | то набрав в командной строке, например: <code>[f:\music]"08. An eye for an eye.mp3"</code> мы увидим окошко любимого плеера и услышим музыку. При этом если в конфиг сисе прописаны другие ассоциации (на тот-же перл или питон) то они как работали так и будут продолжать работать __не__ через WPS-ассоциации. | ||
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||