====== File Transfer Section ======

The **File Transfer Section** is where you browse, search, download, upload, and manage files on the BBS. It is part of the [[user:shell:classic|Classic shell]] (not a separate loadable module), so the exact keys and menus depend on which shell your BBS uses — in Classic, press ''T'' from the Main prompt to enter it and ''Q'' to return.

This page describes what each feature //does//. Key bindings given are Classic's; other shells may differ.

===== Libraries and directories =====

The file area uses a two-level hierarchy — exactly like message groups and sub-boards, but for files:

  * A **library** is a broad category (e.g. //Shareware//, //Graphics//, //Utilities//).
  * A **directory** is a specific collection within a library (e.g. //Shareware/Windows//, //Shareware/Business//).

Your current library and directory are shown in the File Transfer prompt: ''(1) Main (1) Uploads''. In Classic, the navigation keys for moving between libraries and directories mirror the group/sub-board keys on the Main prompt — see [[user:shell:classic#message_area_selection|Classic shell — Go to/navigation]] for the full list.

===== Wildcards =====

Most file commands accept wildcards in the ''Filespec [*.*]:'' prompt:

  * ''*'' matches any number of characters (including none)
  * ''?'' matches exactly one character
  * Entering just ''<CR>'' is equivalent to ''*.*'' — matches all files

Examples:

  * ''FONT?.ZIP'' matches ''FONT1.ZIP'' or ''FONT2.ZIP'' but not ''FONTMAN.ZIP''
  * ''FONT*.ZIP'' matches ''FONTMAN.ZIP'' or ''FONT1.ZIP'' but not ''LANMAN.ZIP''
  * ''FONTMAN.Z*'' matches ''FONTMAN.ZIP'' or ''FONTMAN.ZOO'' but not ''FONTMAN.png''
  * ''FONTMAN'' (no extension) matches ''FONTMAN.ZIP'', ''FONTMAN.png'', etc.

===== Listing and searching =====

==== List files ====

Lists files in your current directory (Classic: ''L''). Wildcards accepted.

==== Extended file information ====

Like the file listing but shows extended details per file: uploader name, download time, credit cost, times downloaded, upload/download dates, and any extended description (Classic: ''E''). Wildcards accepted.

==== New file scan ====

Lists files uploaded since your last logon (Classic: ''N''). You're prompted whether to scan the current directory, all directories in the current library, or all libraries across the BBS.

The new file scan date resets each logoff. To change it temporarily, use the [[#configuration|file scan configuration]].

==== Search for filename ====

Searches for a filename (wildcards accepted) across the current directory, library, or all libraries (Classic: ''S'').

==== Find text in description ====

Searches file descriptions for a text string — partial words work; wildcards do **not** (Classic: ''F''). You're prompted for the search scope and whether to include extended descriptions. The search supports [[user:boolean_search|boolean syntax]] (AND, OR, NOT, parentheses, quoted phrases) — type ''?'' at the prompt for inline help.

===== Downloading files =====

==== Download file ====

Prompts for a filename (wildcards accepted; Classic: ''D''). Matching files are listed one by one; after each you get **download options**: choose a transfer protocol (Zmodem, Ymodem, Xmodem, etc.), add to the batch download queue, skip to the next match, or quit.

If no match is found in the current directory the search automatically expands to all libraries.

==== Download user-to-user file ====

Downloads a file sent to you personally by another user (Classic: ''/D''), if the sysop allows user-to-user transfers. Files are listed one by one with the same download options.

===== Uploading files =====

==== Upload file ====

Uploads a file to the current directory (Classic: ''U''). After entering the filename you go through the standard [[#upload_procedures|upload procedures]].

==== Upload to user ====

Uploads a file destined for a specific user (Classic: ''/U''), if the sysop allows user-to-user transfers. After the filename you're prompted for the recipient's name, user number, or partial name; you may add additional recipients before confirming. Then follow the standard [[#upload_procedures|upload procedures]].

==== Upload to sysop ====

Uploads directly to the sysop's private file area (Classic: ''Z''), if the sysop allows it. Then follow the standard [[#upload_procedures|upload procedures]].

==== Upload procedures ====

After specifying the upload command and filename, you may be asked:

  - Whether the file is part of a **multi-file set** — for example, if you're uploading disk 1 of a 3-disk set, enter ''1/3'' or ''1 of 3''. If the file is self-contained (not part of a set), press ''<CR>'' or type ''N''.
  - A **content rating** prompt (site-dependent).
  - A **one-line description** for the file listing.
  - An optional **extended description** (use the built-in line editor or your configured [[user:editor|external editor]]; ''/S'' to save).
  - **Upload options**: choose a protocol (''Z'', ''Y'', ''X'', etc.) or ''B'' to add to the batch upload queue; ''Q'' to abort.

==== Remove / edit file ====

Remove or edit the description of any file **you uploaded** (Classic: ''R''). You cannot remove files uploaded by others.

===== Batch file transfers =====

The batch queues let you collect multiple files for a single transfer session. When a download or upload command offers the batch option, selecting it adds the file to the appropriate queue instead of transferring immediately. In Classic, press **''B''** from the File Transfer prompt to open the **Batch File Transfer** menu:

  ┌──────────────────────────────────────────┐
  │ Batch File Transfer Menu                 │
  ├────────── Upload/Download Files ─────────┤
  │  U  Upload files in upload queue         │
  │  D  Download files in download queue     │
  ├──────── Batch Queue Management ──────────┤
  │  L  List files in batch queues           │
  │  R  Remove files from batch queues       │
  │  C  Clear batch queues                   │
  ├──────────────────────────────────────────┤
  │  Q  Quit to File Transfer menu           │
  └──────────────────────────────────────────┘

===== Temp directory =====

The **Temp Directory** is a scratch area for extracting files from archives and building custom download bundles. If you need only a single file from a large archive — say, one font from a 1 MB ZIP — you can extract just that file and download it rather than transferring the whole archive. This works with nested archives too: if ''FONTS.ZIP'' contains ''BLUE.ZIP'', which in turn contains ''FILE1.FON'' and ''FILE2.FON'', you can drill into the nested archive and download only ''FILE1.FON''.

In Classic, press **''T''** from the File Transfer prompt to open the **Temp Directory Command** menu:

  ┌──────────────────────────────────────────────────┐
  │ Temp Directory Command Menu                      │
  ├─── Extract from Archive ─────────────────────────┤
  │  E  Extract from archive in any directory        │
  │  X  Extract from archive in temp directory       │
  ├─── Create List ──────────────────────────────────┤
  │  N  List of new files                            │
  │  F  List of all files                            │
  ├─── Temp Archive ─────────────────────────────────┤
  │  C  Create temp archive                          │
  │  D  Download temp archive                        │
  ├─── Other Commands ───────────────────────────────┤
  │  L  List files in temp dir                       │
  │  I  Information on files                         │
  │  V  View archive contents                        │
  │  R  Remove files from temp                       │
  ├──────────────────────────────────────────────────┤
  │  Q  Quit to transfer menu                        │
  └──────────────────────────────────────────────────┘

===== Information =====

In Classic, **''I''** from the File Transfer prompt opens the Information menu:

  ┌───────────────────────────────────────┐
  │ File Section Information Menu         │
  ├───────────────────────────────────────┤
  │  Y  Your file transfer statistics     │
  │  T  File transfer policy              │
  │  D  Information on current directory  │
  │  U  Users with access to current dir  │
  ├───────────────────────────────────────┤
  │  Q  Quit to File Transfer menu        │
  └───────────────────────────────────────┘

**''Y''** — Your file transfer statistics — shows your upload/download totals, credit balance, and time bank:

  Usage Statistics for ExampleUser #42

  First on : Jan01'25   Expire  : never       Last on  : May08'26 04:41 pm
  Time on  : 2h 15m     Today   : 00:17       Last call: 0        Extra: 0
  Logons   : 128         Today   : 3        50 Posts    : 47       2 Today: 0
  E-mails  : 12          To sysop: 1           Waiting  : 0          Today: 0

  Uploads  :     12.4M bytes in 8 files
  Downloads:    487.2M bytes in 203 files (2.1M bytes in 3 files today)
  Credits  :     10.0M free: 50.0M (50.0M per day)
  TimeBank :        0m

**''T''** shows the sysop's file transfer policies (credit costs, upload rules, etc.). **''D''** shows the name, description, and statistics for your current directory. **''U''** lists the security level and access groups required to use the current directory.

===== Configuration =====

In Classic, **''&''** from the File Transfer prompt opens the File Transfer Configuration menu.

  * **Batch Download Quick File Flagging** — when enabled, file listing commands show one page at a time with a letter next to each file; type the letter(s) of files you want and press ''<CR>'' to add them to the batch download queue. This setting can be made permanent in [[user:settings|User Settings]].
  * **New File Scan Date/Time** — manually set how far back the new-file scan looks. Resets to your last logoff date at the end of your session.

===== See Also =====

  * [[user:|User Documentation]]
  * [[user:shell:classic|Classic shell]] — File Transfer prompt, menu layout, and navigation keys
  * [[user:settings|User Settings]] — default download protocol, batch file flagging default
  * [[user:ctrl_keys|Control-key commands]] — Ctrl-S/Q/C work during file listings

{{tag>user files file_transfer download upload batch library directory}}
