BASIC-DOS

A PCjs Retro-Programming Project

BASIC-DOS is on Twitter Project maintained by jeffpar

BASIC-DOS Manual

LS

LS [/1alRrSt] [filespec]…

Lists files and directories like the UNIX ls command. Each filespec that’s a directory (eg, LS \EXT, LS .., or LS A:) lists the files in that directory, and without one, the current directory is listed. Any other filespec lists the files that match it (and with wildcards, the directories that match it, too), with the filespec’s drive and path in front of each name, as a UNIX shell would expand them (eg, LS \EXT\T*.COM lists \EXT\TEE.COM \EXT\TR.COM); those files are listed first, all together, and then each directory, after a line with its name and a colon if more than one filespec was given. A filespec that matches nothing is reported (eg, Unable to find X.BAS).

Names are sorted, and listed in columns down the screen, each column 2 characters wider than the longest name, with as many columns as fit the console’s width. Each directory’s name ends with the path character (eg, EXT\), as UNIX’s ls -p shows directories; programs aren’t marked. When the output isn’t the console (eg, LS > FILES.TXT), names are listed one per line, as UNIX does. Hidden files, and the . and .. entries of a subdirectory, are listed only with /a.

Options start with the switch character (/, unless SWITCHAR changes it, eg, to -), are case-sensitive, and can be combined (eg, LS /ltr is the same as LS /l /t /r):

  • /1 lists one name per line
  • /a lists all files, including hidden files and the . and .. entries
  • /l lists each file’s mode, size, date, and name, after a total line with the directory’s size in K (the sum of each file’s size rounded up to a whole K); the mode is d for a directory (or -), followed by rwx for a directory or program (a COM, EXE, BAT, or BAS file), or rw- for any other file, without the w for a read-only file. Sizes are right-justified in 7 columns. The date shows the time if it’s within the last 6 months, or else the year. Since files have no owners or links, there are no owner, group, or link count columns, and only one set of permissions.
  • /R lists the subdirectories of each directory listed, too, after a line with each one’s path (eg, .\TESTS:)
  • /r reverses the order
  • /S sorts by size, largest first
  • /t sorts by date and time, newest first (and /tr, oldest first)

Files with the same size or time are sorted by name. If there are more names than LS can sort, or more directories waiting to be listed than it can remember, LS displays Too many matching files, and ERRORLEVEL is set to 1. A drive that doesn’t exist displays Invalid drive, and any other option displays Syntax error.

LS \EXT
ATTRIB.BAS    FIND.COM      LABEL.BAS     SLEEP.COM     TREE.BAS
CHKDSK.BAS    FORMAT.BAS    LS.BAS        SORT.COM      UNIQ.COM
COMP.BAS      HELP.COM      MODE.BAS      SYS.BAS       VI.COM
DEBUG.COM     HELP.TXT      MORE.COM      TEE.COM       VOL.BAS
DISKCOPY.BAS  HEXDUMP.BAS   SED.COM       TR.COM        WC.COM
LS \
AUTOEXEC.BAT  CONFIG.SYS    TESTS\
COMMAND.COM   EXT\          TOOLS\
LS /lt \EXT\T*.*
-rwx     533 Oct 24 11:22 \EXT\TEE.COM
-rwx     579 Oct 24 11:22 \EXT\TR.COM
-rwx    2978 Oct 23 12:17 \EXT\TREE.BAS

Source: LS.BAS

« LABELMODE »

Copyright (c) 2020-2026 Jeff Parsons Released under MIT License