Rozhraní OS
native! call
Provádí příkazy z shellu. Většinou je to totéž jako z příkazového řádku systémové konzoly (CLI) ale existuje několik úchylek.
Následující kód otevře Windows Explorer:
>> call "explorer.exe"
== 11272 ; this is the number of the process opened.
Toto rovněž chodí:
>> str: "explorer.exe"
== "explorer.exe"
>> call str
== 11916
Ovšem, následující kód vytvoří proces ale neotevře Notepad na obrazovce:
>> call "notepad.exe"
== 4180
Chcete-li chování více podobné zápisu příkazu v shellu, musíte použít upřesnění /shell:
>> call/shell "notepad.exe" ; otevře Notepad na obrazovce
== 6524
Další upřesnění:
call/wait
Spustí příkaz a čeká na jeho ukončení. Buďte opatrní, použijete-li upřesnění /wait pro proceduru, kterou nebudete umět ukončit (jako call "notepad.exe" nahoře), Red bude čekat... a čekat.. až do nekonečna.
call/input - zadáváme string!, file! nebo binary!, jež bude přesměrováno do stdin.
I don't understand this one. Seems as the same as simply call , as we provide string or a file anyway.
call/output
Zadáváme string!, file! nebo binary!, jež přijme přesměrovaný stdout z příkazu. Všimněte si, že výstup je připojen.
Následující kód vytvoří textový soubor s výstupem shellu pro "dir" (seznam souborů a složek z aktuální cesty):
>> call/output "dir" %mycall.txt
== 0
Toto vytvoří (dlouhý) řetězec s výstupem z "dir":
>> a: ""
== ""
>> call/output "dir" a
== 0
>> a
== { Volume in drive C has no label.^/ Volume Serial Number is BC5 ;...
call/shell/show
Force the display of system's shell window (Windows only). Your program will run with windows command prompt open.
>> call/shell/show "notepad.exe"
== 12372
call/console
Spustí příkaz s I/O přesměrovaný do konzoly (CLI console only at present, does not work with Red's normal GUI console).
native! write-clipboard & read-clipboard
Zapisuje do a čte ze schránky OS:
>> write-clipboard "You could paste this somewhere you find useful"
== true
>> print read-clipboard
You could paste this somewhere you find useful