FGet

FGet.exe downloads a single file using the HTTP, HTTPS, FTP or FILE protocols. It is a small program (53 KB) that can be used to download files from the command line, or during installation by running it in a Run Program action.

(Note that Installer 5, InstallMate 7, and InstallMate 9 have a built-in Download File action that offers equivalent functionality.)

Initial progress window:

FGet screen shot

Progress window after clicking Details...

FGet screen shot with details visible

Terms of use

This program is copyright © 1990-2016 Tarma Software Research Ltd.

You may freely use this program for personal or internal business uses only. You may not incorporate the program either wholly or in part into any product or publication, or otherwise distribute the program without express written permission from Tarma Software Research Ltd. However, you may provide links to this program's web page.

Tarma Software Research Ltd is not liable for errors or omissions in this program.

No technical support is available for this free tool.

Download

The download package contains two versions of the FGet.exe tool:

  • FGetA.exe is the ANSI version for use on Windows 95, 98, Me;
  • FGetW.exe is the Unicode version for use on Windows NT4, 2000, XP, Vista, 7, 8, and their Server editions.

System requirements: Runs on all Windows 9x and later versions, including NT4, 2000, XP, Vista, 7, 8, and their Server editions. Requires Internet Explorer 4 or later to be installed on the system.

Syntax

FGet /?
FGet [/d][/f][/n][/p][/q][/r][/v][/x][/wn] URL [localpath]

The first form displays a syntax summary and exits. The second form tries to download the file given by URL and store it locally.

Parameter Description
FGet Name of the program; .exe is implied. You may have to use a fully qualified file path if FGet.exe is located in a folder that does not appear in your PATH environment variable.
/? Display a message box with version info and syntax summary; exit when the user closes the message box.
/d Start with download details visible. This displays the Remote URL and Local path fields that are otherwise hidden until the user clicks the Details... button.
/f Force output. If this parameter is given, FGet will overwrite the existing local file even if it's read-only. Without this parameter, an existing read-only local file will be preserved and no download takes place. (Writable local files are always overwritten without warning.)
/n Only download remote file if it is newer than the local file or the local file does not exist. This option is useful to check for updates, especially when combined with the /r (reload) option.
/p Uses passive FTP if the FTP protocol is specified in the URL; has no effect on other protocols. Passive FTP is recommended for compatibility with firewalls.
/q Run in quiet mode, i.e., without displaying progress information. Without this parameter, FGet displays a progress dialog box during the download. The /q option cancels any previous /v option.
/r

Force a reload of the file from the server, bypassing the local cache. This is useful if you know or suspect that the file has been updated on the server, but the FGet cache still contains an old version.

(Note that FGet uses the Internet Explorer cache, so you can clear the download cache by using the Internet Options control panel in Windows to clear the Internet Explorer cache.)

/v Run in verbose mode, i.e., display progress information and error messages, if any. Also display a message box when the download is complete. The /v option cancels any previous /q option.
/wn Wait for up to n seconds after the download completes until the file is available. Even after FGet completes the download and closes its handle to the local file, the local file is not always immediately available for re-opening, presumably due to Windows internal caching. With this parameter, FGet will repeatedly try to open the local file and only exit after it succeeds or the wait period expires.
/x

Only check for the existence of the remote file; do not try to download anything. You can combine this option with the /n (newer) option; the combination of /n /x tests if a newer remote file exists without actually trying to download it.

The exit code is 0 (ERROR_SUCCESS) if the remote file exists (and, if /n is specified, is newer than the existing local file or there is no existing local file), or nonzero if the remote file does not exist, is same age or older than existing local file (only tested if /n is also specified), or some error occurred.

URL

Fully qualified URL of the file that must be downloaded. This can take on one of the following forms:

  • http://server/path/to/file
  • https://server/path/to/file
  • ftp://server/path/to/file
  • file:///path/to/file

In all cases, server must be a server address that is valid for the protocol (typical examples are www.tarma.com for HTTP and HTTPS; ftp.tarma.com for FTP); it may include protocol-specific qualifiers such as www.tarma.com:8080 (a port number for HTTP) or username@ftp.tarma.com (a user name for FTP). Note that for the FILE protocol the server portion is empty; hence the three consecutive /// characters in that case.

/path/to/file is the fully qualified path to the file on the server.

localpath Optional file name or path for the local copy of the download file. If this parameter is missing, then FGet will use the file (rightmost) component of the URL parameter as the local file name of the download file.

Exit codes

If FGet is successful, it will return an exit code of 0 (ERROR_SUCCESS); if an error occurs or the download could not complete, a nonzero Win32 error code is returned. The following are some of the most common exit codes, but others might also occur. Consult the Windows error code list for more information.

Exit code Symbolic Reason
0 ERROR_SUCCESS Success. The remote file was successfully downloaded, or the /x option was specified and the remote file's existence was confirmed without actual download. If /n was also specified, then the remote file was newer than the existing local file or the local file did not exist.
2 ERROR_FILE_NOT_FOUND Remote file does not exist, or the local file path is invalid.
3 ERROR_PATH_NOT_FOUND Remote file does not exist, or the local file path is invalid.
5 ERROR_ACCESS_DENIED Local file exists and is read-only, and the /f or /x options were not specified.
80 ERROR_FILE_EXISTS Local file exists, the /n option was specified, and the remote file was not newer than the existing local copy.
87 ERROR_INVALID_PARAMETER Invalid command line option.
1223 ERROR_CANCELLED The user cancelled the download.
Others Consult the Windows error code list for more information

Remarks

The current version of FGet does not allow for interaction during the download process. This means that you cannot use it for downloads that require proxy or server-side authentication. You can use FGet across transparent proxies (i.e., proxies that do not require authentication).

Examples

Here are some usage examples.

FGet /?
Displays a message box with the syntax summary and version info, and exits when the message box is closed.
FGet http://www.tarma.com/download/update.txt
Downloads the file update.txt from Tarma's web server and stores it in the current directory under that same name. During the download process, a progress indicator is shown.
FGet /w10 /q http://www.tarma.com/download/update.txt C:\Temp\Test.ini
Downloads the same file but stores it in C:\Temp\Test.ini. No progress indicator is shown, and FGet waits up to 10 seconds after the download completes for the file to become locally available.
FGet /n /r http://www.tarma.com/download/tin9.exe
Downloads tin9.exe from Tarma's web site, but only if it's newer (/n option) than the local copy in the current folder. The download bypasses the cache and always goes straight to the server (/r option) to make sure that no stale information is used.