This is an old revision of the document!
Table of Contents
Command Lines
There are a number of places in SCFG where a sysop may configure command-lines to be executed for certain features (e.g. doors, file transfer drivers, file archive/compression/test, etc.).
Specifiers
Command lines configured in SCFG may include Command Line Specifiers which are special sequences (macros) which will be replaced with useful dynamic values at the time the command line is executed by the BBS.
Command Line Specifiers may also be used in many string-related Baja functions and with the JavaScript bbs.cmdstr()
method.
The currently supported Command Line Specifiers are:
Specifer | Description | Windows Example | Unix Example |
---|---|---|---|
%A | Current user alias | digital man |
|
%a | Current user alias (auto-quoted) | "digital man" |
|
%b | Current baud (DTE) rate | 38400 |
|
%c | Current connect description | Telnet |
|
%d | Current connect (DCE) rate | 30000 |
|
%e | Estimated CPS rate*10 | 30000 |
|
%F | File path/name | C:\SBBS\NODE1\DOOR.SYS | /sbbs/node1/door.sys |
%f | File path/name (auto-quoted) | "C:\Program Files\SomeFile" | "/some path/file/" |
%g | Temporary file directory | C:\SBBS\NODE1\TEMP\ | /sbbs/node1/temp/ |
%h | Socket descriptor (inheritable) | 1402 |
|
%i | Current client IP address | 127.0.0.1 |
|
%j | DATA directory | C:\SBBS\DATA\ | /sbbs/data/ |
%k | CTRL directory | C:\SBBS\CTRL\ | /sbbs/ctrl/ |
%l | Current maximum lines per message | 500 |
|
%m | Minutes in the current user's minute bank | 0 |
|
%n | Current node directory | C:\SBBS\NODE1\ | /sbbs/node1/ |
%O | Sysop's name | digital man |
|
%o | Sysop's name (auto-quoted) | "digital man" |
|
%p | Client protocol | Telnet |
|
%q | System's QWK ID (as specified in SCFG) | VERT |
|
%r | Client's terminal height (in rows) | 24 |
|
%s | File specification or current command string | C:\FILES\*.ZIP | /files/*.zip |
%t | Time (in seconds) user has left online | 60 |
|
%u | UART I/O address in hex or F=FOSSIL | F |
|
%v | Synchronet version | 3.15a |
|
%w | Client's terminal width (in columns) | 80 |
|
%x | Current user's command shell (internal code) | DEFAULT |
|
%y | COMSPEC or SHELL environment variable | C:\Windows\system32\cmd.exe | /bin/sh |
%z | TEXT directory | C:\SBBS\TEXT\ | /sbbs/text/ |
%. | Executable file suffix/extension | .exe | |
%~ | File path/name in Micros~1 short format (Win32) | C:\SOMEFI~1 | /somefilename.txt |
%! | EXEC directory | C:\SBBS\EXEC\ | /sbbs/exec |
%@ | EXEC directory only on Windows | C:\SBBS\EXEC\ | |
%# | Current Node number (1-255) | 1 |
|
%* | Current Node number (0 padded to 3 digits) | 001 |
|
%$ | User's credits | 4534834 |
|
%% | Percent symbol | % |
|
%? | Platform/operating system | win32 | linux |
%1 | Current user number | 1 |
|
%2 | Current user number (0 padded to 2 digits) | 01 |
|
%3 | Current user number (0 padded to 3 digits), etc. | 001 |
Auto-quoting
For most alphabetic specifiers, using uppercase or lowercase letters will produce the same results. The following specifiers support automatic quoting, enclosing the value in double-quote characters only when spaces are included in the expanded value. To prevent automatic quoting, use the uppercase version of the specifier (e.g. %A
instead of %a
).
%a
%f
%o
The %~
specifier is always auto-quoted on non-Windows platforms (and never requires quoting on Windows platforms).