Simple way to sort a text file

This method shells out to the older DOS sort command to sort a text file. Where FileA.txt is the file to sort and FileB.txt is the sorted text file

Author: Veign
Catagory(s): Files / Directories ,
Language: VB6
Type: Snippet
Posted: January 18, 2005
Date Revised:
MS-DOS, Windows 95, 98, ME, NT Syntax:

SORT [/R] [/+n] [[drive1:][path1]filename1] [> [drive2:][path2]filename2]
[command |] SORT [/R] [/+n] [> [drive2:][path2]filename2]

/R - Reverses the sort order; that is, sorts Z to A, then 9 to 0
/+n - Sorts the file according to characters in column n
[drive1:][path1]filename1 - Specifies file(s) to be sorted
[drive2:][path2]filename2 - Specifies a file where the sorted input is to be stored
command - Specifies a command whose output is to be sorted

Windows 2000 and Windows XP Syntax:

SORT [/R] [/+n] [/M kilobytes] [/L locale] [/RE recordbytes]
[[drive1:][path1]filename1] [/T [drive2:][path2]]
[/O [drive3:][path3]filename3]

/+n - Specifies the character number, n, to begin each comparison. /+3 indicates that each comparison should begin at the 3rd character in each line. Lines with fewer than n characters collate before other lines. By default comparisons start at the first character in each line.
/L[OCALE] locale - Overrides the system default locale with the specified one. The ""C"" locale yields the fastest collating sequence and is currently the only alternative. The sort is always case insensitive.
/M[EMORY] kilobytes - Specifies amount of main memory to use for the sort, in kilobytes. The memory size is always constrained to be a minimum of 160 kilobytes. If the memory size is specified the exact amount will be used for the sort, regardless of how much main memory is available.

The best performance is usually achieved by not specifying a memory size. By default the sort will be done with one pass (no temporary file) if it fits in the default maximum memory size, otherwise the sort will be done in two passes (with the partially sorted data being stored in a temporary file) such that the amounts of memory used for both the sort and merge passes are equal. The default maximum memory size is 90% of available main memory if both the input and output are files, and 45% of main memory otherwise.
/REC[ORD_MAXIMUM] - Specifies the maximum number of characters in a record (default 4096, maximum 65535).
/R[EVERSE] -Reverses the sort order; that is, sorts Z to A, then 9 to 0.
[drive1:][path1]filename1 - Specifies the file to be sorted. If not specified, the standard input is sorted. Specifying the input file is faster than redirecting the same file as standard input.
/T[EMPORARY] [drive2:][path2] -Specifies the path of the directory to hold the sort's working storage, in case the data does not fit in main memory. The default is to use the system temporary directory.
/O[UTPUT] [drive3:][path3]filename3 -Specifies the file where the sorted input is to be stored. If not specified, the data is written to the standard output. Specifying the output file is faster than redirecting standard output to the same file.

Code / Download

' ---------------------------------------------------------------
' Copyright ©2000 - 2015 Veign, LLC All rights reserved
' ---------------------------------------------------------------
' Distribution: You can freely use this code in your own
' applications, but you many not reproduce
' or publish this code on any web site,
' online service, or distribute as source on
' any media without express permission from Veign.
' ---------------------------------------------------------------

Shell "Sort C:\FileA.txt /O C:\FileB.txt"
Disclaimer: If you use any of the source code or compiled applications on this site, you realize that you do so AT YOUR OWN RISK. The items provided here are supplied AS IS and Veign makes no warranty as to its use or performance either expressed or implied.