directory listing, directory listing recursive
This function creates a table containing the directory listing of the specified path. The table contains following columns: The function directory listing recursive also lists all files in all subdirectories. Unless the listing option is "all", all files inside hidden and system directories are ignored, even if they are stored as regular visible files.
Header Name | Contents | OS dependent deviations |
---|---|---|
Path | Full path name , ending directory separator symbols | Directory separator: Windows: '\', LINUX / MACOS: '/' |
Name | File or directory name. Directory names end with separator symbols | See above |
Date Created | Date file was created (YYYY-MM-DD),e.g. 2014-12-31 | |
Time Created | Time file was created (00:00:00 – 23:59:59) | |
Date Updated | Date file was updated most recently (YYYY-MM-DD) | |
Time Updated | Time file was updated most recently (00:00:00 – 23:59:59) | |
Directory | 'Yes' if entry is a directory name, otherwise 'No' | |
System | 'Yes' if entry is a system file is a system file, otherwise 'No' | LINUX / MACOS: Always 'No' |
Hidden | 'Yes' if hidden, otherwise 'No' | LINUX / MACOS: All files beginning with '.' are considered hidden |
Archive | 'Yes' if archive file, otherwise 'No' | LINUX / MACOS: Always "No" |
Read Only | 'Yes' if read-only, otherwise 'No' | |
Size | File size in bytes |
Indirect parameter passing is disabled
1-4
No. | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
1 input |
string | name of destination table The directory listing will be put into this table, with header names as lsited above. If the table is not yet existing, then it will be created. Existing tables will be initialized first. | ||||||||
Opt. 2 input |
string | drive or path name Specify a disk drive (e.g. C:\) or a path name (/usr/local, or \\server_name\path_name\...).
If no additional parameters are provided, then the path name may also contain a file name (to list 1 file) or matching pattern to list specific files. | ||||||||
Opt. 3 input |
string | pattern name Specify a disk drive (e.g. C:\) or a path name (/usr/local, or \\server_name\path_name\...).
If no additional parameters are provided, then the path name may also contain a file name (to list 1 file) or matching pattern to list specific files. | ||||||||
Opt. 4 input |
string | search option One of the following:
Default value: files and directories |
Type | Description |
---|---|
numeral | Entry count Total number of files and/or directories found. -1 = Error (e.g. invalid path). Table will be empty in this case. |
define procedure ( listing, {{ description, string }, {count, numeral}} )
{
echo( new line, description[], " (Containing ", count[], " entries)" );
table process( list, echo( [Date Created]," ",[Time Created]," ", [Path], [Name] ) );
}
// Both listings are equivalent.
path[] = system info[bin directory];
echo("Using following main path: ", path[] );
rv[] = directory listing( list, path[] );
listing( "All files in specified subdirectory", rv[]);
rv[] = directory listing( list, path[] + "\L*,B*" );
listing( "All directories and files brginning with L or B", rv[]);
echo;
rv[] = directory listing( list, path[], "*", directories );
listing( "All subdirectores. Note: Use '*', not '*.*'.", rv[]);
echo;
rv[] = directory listing( list, path[]+"\lib", "*.txt" );
listing( "All files with type in lib subdirectory'.txt'", rv[]);
rv[] = directory listing recursive( list, path[], "*.b4p,*.txt" );
listing( "All .b4p and .txt files in current and subdirectories", rv[]);
rv[] = directory listing recursive( list, "C:\dk3@ç%45*\" );
listing( "Empty table, -1 returned due to invalid path name", rv[]);
Using following main path: C:\Program Files\b4p
All files in specified subdirectory (Containing 11 entries)
2024-10-19 15:58:03 C:\Program Files\b4p\B4P Reference Manual.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\B4P Style Themes.xlsx
2024-10-19 15:58:03 C:\Program Files\b4p\B4P.exe
2024-10-19 15:58:03 C:\Program Files\b4p\b4picon.ico
2024-10-19 15:58:03 C:\Program Files\b4p\Install.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\
2024-10-19 15:58:03 C:\Program Files\b4p\List of Locales.csv
2024-10-19 15:58:03 C:\Program Files\b4p\Setup.exe
2024-10-19 15:58:03 C:\Program Files\b4p\vcruntime140.dll
2024-10-19 15:58:03 C:\Program Files\b4p\vcruntime140_1.dll
2024-10-19 15:58:03 C:\Program Files\b4p\weblib\
All directories and files brginning with L or B (Containing 6 entries)
2024-10-19 15:58:03 C:\Program Files\b4p\B4P Reference Manual.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\B4P Style Themes.xlsx
2024-10-19 15:58:03 C:\Program Files\b4p\B4P.exe
2024-10-19 15:58:03 C:\Program Files\b4p\b4picon.ico
2024-10-19 15:58:03 C:\Program Files\b4p\lib\
2024-10-19 15:58:03 C:\Program Files\b4p\List of Locales.csv
All subdirectores. Note: Use '*', not '*.*'. (Containing 2 entries)
2024-10-19 15:58:03 C:\Program Files\b4p\lib\
2024-10-19 15:58:03 C:\Program Files\b4p\weblib\
All files with type in lib subdirectory'.txt' (Containing 1 entries)
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Interactive Help.txt
All .b4p and .txt files in current and subdirectories (Containing 20 entries)
2024-10-19 15:58:03 C:\Program Files\b4p\B4P Reference Manual.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\Install.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\B4P Init.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Console Library.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help Access Local Docs.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help Access Online Docs.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help Basic Commands.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help Interactive.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help Start.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help System Commands.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help Tables.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Help Variables.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\help\Shortcuts.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Interactive Help.txt
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Office Library.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Short Commands Library.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Style Library.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Support Library.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Utility Library.b4p
2024-10-19 15:58:03 C:\Program Files\b4p\lib\Zip Library.b4p
Empty table, -1 returned due to invalid path name (Containing -1 entries)