ShowFiles (sf) - DIR command, displays a sorted and text-formatted file list

Version: 

0.971

OS compatibility: 

Project category: 

License: 

ShowFiles (sf) version 0.971, 27 July 2015.

DIR/LIST command - displays a sorted and text-formatted list.

ShowFiles (sf) is yet another DIR command (written in C). It displays a sorted and text-formatted list of files, drawers (dirs) and soft/hard-links on disk or other storage medium. It will also display their additional information such as size, date, possible comment, executable header type (68k or PPC program), protection-bits, etc, etc. It supports a number of different option/switch formats (Amiga like switches, Unix/Linux style and DOS/Windows style). It also supports wildcards/pattern-matching and Amiga templates.

After installation, in the Shell, please type "sf HELP" (or "sf --help") for listing all options/switches. Or look in the .doc-file in the archive.

Features

- Abbreviated as SF or just sf, fast and easy to type in the shell.
- Dirs/drawers are displayed in blue color (pen 3).
- Hard/Softlinks are displayed underscored (underlined).
- Shows where any Hard/Softlinks points to.
- Possible comments are displayed in italic.
- Displays the "primitive" file type of files.
- Fetches and identifies executable headers. 68k, PPC (ELF), EXE, among others.
- Displays the Amiga file protection bits of files.
- Shows free disk space and sizes in KiB (1024), kB (1000) and bytes.
- Options SIZE and TIME, for sorting by size and time/date.
- Option REVERSE, for reversing the output list.
- Options (FILES, DIRS & LINKS) for displaying only files, dirs or links. Or intermix them.
- Option 68K, for only listing m680x0 (68k) executables (AmigaOS 3.x).
- Option PPC, for only listing PowerPC (PPC) executables (ELF headers).
- Option ALL, for showing all files and dirs in directories and subdirs.
- Option to "trail" files with an initial character ('/', '*' or (at)-char).
- Possibility to specify a path to display.
- Supports wildcards/pattern-matching.
- Option BARE, for listing without heading/summary information.
- Shows OwnerUID, OwnerGID, UseCount and ObjectID (as reported by DOS).
- Supports the ? switch, for showing the Template.
- Supports multiple formats of options/switches (f.ex: TIME --time -t /T).
- Supports automatic updates through AmiUpdate.
- Written (in C) and developed on Amiga, for Amiga and Amigans.

Displaying dir-listings

There are 3 main OUTPUT VIEWS for displaying dir-listings, typing the
following (without the "1>" string):

1> sf
= displays all the files in current dir with the *DEFAULT* view.

1> sf MORE
or
1> sf -m
= displays a list with more specific information including what exe type a file
is (PPC (ELF), 68k, exe etc.)

1> sf CLARIFY
or
1> sf -c
= displays an even more clarified list of specific information.

More examples

Options can be written in any of the four different types. For example MORE,
--MORE, -m, /m, more and --more, are all the same option.
However, one single letter options such as m, -p, P, /H, etc are case-
sensitive, non-single letter options are not.

1> sf 68K
or
1> sf -6
= lists only 68K executables.

1> sf TIME
or
1> sf -t
= sorts by time/date (oldest first).

1> sf TIME REVERSE
or
1> sf -t -r
= sorts by time/date (newest/latest first).

1> sf DIRS
or
1> sf -d
= displays only drawers (dirs).

1> sf SIZE REVERSE
or
1> sf -s -r
= displays a list of files sorted by size, the biggest at the top.

1> sf ALL
or
1> sf -a
= displays all files and dirs in a directory and its sub-directories.

1> sf sobjs: -l -c
= displays only links in the dir/assignment called sobjs:

1> sf HELP
or
1> sf --help
or
1> sf -?
or
1> sf /?
= displays the help with a list of all switches/commands.

Limitations

- When fetching for exe-files (using MORE or CLARIFY option, sf doesn't
(yet) recognize the architecture for MacOS files, it does only recognize
if it's an exe-file (for what ever architecture) or not.)

Installation

Just run the file ShowFiles.Install,
or:
* Copy the file ShowFiles to your C:
* Type the following and hit enter:
C:MakeLink C:sf C:ShowFiles SOFT FORCE
* Copy the documentation to SYS:Documentation/C/
* Done!

Requirements

Requires locale.library V48+ or DOS V50.36+ if locale not available.

Changes

Version 0.971: (Jul 2015)
- Fixed bug, pattern matching in current dir failed.

Version 0.970: (Jul 2015)
- Pattern matching implemented.
- Fixed bug, header background-color sometimes smearing to next line.
- Fixed issue with template and option/command-info-format, a few working commands/options were missing in the printed output.
- Fixed APP-string/name, leftover garbage ("DEBUG") removed from the string.
- Included output of the EXTVER-tag to the version/help output.

Version 0.960: (Sep 2014)
- Added ? switch for showing the Template.
- Added BARE option, for using bare format (no heading/summary information).
- Safety improved, added more checks concerning memory (just to be sure).
(Sentinels placed around memory allocations, about 20 in total.)
- Corrected information in the HELP option.
- Typos fixed in the Options-section and in the Readme file.
- Added Format-info and Template-info to documentation.
- Added small hidden message to binary (only #JustForFun, ~60 chars).
- Added Milestones-section to documentation.

Version 0.950: (Jun 2014)
- Added REALDATE command, shows Date in format (yyyy-mm-dd).
- Added DATEFIRST command, Date (and Time) column is as first column.
- Bugfix/change: The few first protectionbits are seen now again in MORE
view. This was little "too much of a feature" that looked broken.
- Bugfix/change: The three first columns in the DEFAULT view removed, yes
those should not be seen, please use option MORE instead to see those
as well.
- Added Extversion (EXTVER) tag/cookie.
- Minor fixes in readme, among other small fixes.
Version 0.943: (Feb 2014)
- Bugfixed option ALL. This exact compile was *VERIFIED* thanks to
Guillaume Boesel (zzd10h) on his A1-X1000 and Joel Edberg (Joeled) on his
Sam460ex, and also tested on author's Sam440ep-flex.
Version 0.942: (Feb 2014)
- Bugfixed option ALL. (Edit: No bummer, still something fishy, sorry.)
Version 0.942d1: (Feb 2014)
- Debug-version for option ALL. (Thanks for testing Guillaume Boesel (zzd10h)
on AmigaOne X1000 and Joel Edberg (Joeled) for testing on Sam460ex. Also
runs fine on my (the author's) Sam440ep-flex with AmigaOS 4.1 Update 6.)
Version 0.941: (Jan 2014)
- AmiUpdate fix, AutoInstall file included again, it did escape for some
mysterious reason ( ;) ) in the last archive. (Thanks zzd10h)
- Option for showing the manual has been removed (since it's ever growing)
and at least 10 KiB (20%) has been shaved off the ShowFiles executable. See
the .doc file instead in the archive or SYS:Documentation/C/ShowFiles.doc.
- Fixes in readme/documentation, some last minute typos did crawl into the
last upload.
Version 0.940: (Jan 2014)
- Bugfix for DSI crash in option ALL, reported by Guillaume Boesel (zzd10h),
resulting in a total rewrite of the ALL-option specific part.
- Fixed bug, row-break/new-line issue in the footer.
- Much improved error handling and stability with more graceful exit.
- In addition to above, fixed/updated several error-messages, numbered them
as well for referencing purpose.
- Added 68K, --68k, -6 and /6 option(s) for only listing all 68k executables.
- Added PPC, --ppc, -P and /P option(s) for only listing all PPC (ELF)
executables.
- CHANGE: All one single letter options such as a, -m, /? are now case
sensitive, where as non-single-letter options are not. This is because
available free letters for more options are becomming scarce.
- Changed single letter option h to ? (because of above reason).
- Added get_verstag function for returning the VERSTAG.
- Comments in output are now in italic black on grey for better visibility.
- Output header now in bold on grey for better visibility.
- Output footer now in italic for better visibility.
- Dirs in output are now also in bold for better visibility.
- Other minor bugfixes and further fixes and typos in readme/documentation.
Version 0.930: (Jan 2014)
- ALL option added, for displaying all subdirectories and their items.
- File installation structure changed, no dir with extra files copied to C:
or anywhere else anymore.
- Changed so "PPC" is shown rather than "elf" in dir listings.
- Compiled with the latest updated SDK (version 53.24).
- Typos and minor fixes in readme/documentation.
Version 0.923: (Dec 2013)
- Bugfix regarding links not being underlined or marked in output. (PS: That
bug was kind of hard to track and hunt down but now resolved ;) )
- File comments and link arrows now also in white (pen 2).
- More bugfixes in AutoInstall, Install and UnInstall scripts.
Version 0.922: (Dec 2013)
- Bugfixes in AutoInstall, Install and UnInstall scripts.
- Minor typos in readme fixed.
Version 0.921: (Jan 2013)
- Moved AutoInstall to the root.
Version 0.92: (Dec 2012)
- Fixed bug, "Total size listed is always 0 in the footer."
- Fixed the AutoInstall, there were some unknown parameters (oops).
- Changed the footer info so files and dirs are separate, and items is the
total of those, among other minor there in the footer.
Version 0.91: (Dec 2012)
- Fixed a serious bug introduced in version 0.9 after adding options.
- Changed file structure, Install, Uninstall and AutoInstall scripts to the
one structure suggested by cha05e90, where no dir is created C: .
- Added credits and made lots of improvments to the documentation, except
for what's new.
- Changed the primitive file type "Exe" back to "Exec" (as it was in the
beginning), since "Exe" is a type of Executable-Header).
- Fixed a few other minor bugs (AmiUpdate bug among others (hopefully)).
Version 0.9: (Dec 2012)
- Added options for FILES, DIRS, and LINKS, it is also possible to
intermix them.
- Changed the name for "EHead" to "Exe" (and "eh" to "e").
- Fetching of exe-headers -> little faster (some code cleaned up there).
- Updated Install/Uninstall scripts further, to be more safer and error
resistant, and typos fixed.
- Updated the documentation some further, except for documenting what's new.
- Output slightly changed.
....//snip//

(See the doc/manual for more information.)

Thank You

Thank you to everyone giving help, feedback, bug/error-reports and suggestions.

Licence

This software is freeware.

Donation

Feel free to make a donation by using PayPal:
marko . seppanen // g m a i l. com (without spaces)

Author

Marko K. Seppänen

Homepage

http://m4rko.com/amiga