MS-DOS and Windows command line sort command
The sort command is used filter input and then display the results on a computer monitor or writes them to a file.
Sort is an external command that is available for the following Microsoft operating systems as sort.exe.
- All Versions of MS-DOS
- Windows 95
- Windows 98
- Windows ME
- Windows NT
- Windows 2000
- Windows XP
- Windows Vista
- Windows 7
- Windows 8
- Windows 10
- Windows 11
Windows 2000, XP, and later syntax
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes] [[drive1:][path1]filename1] [/T [drive2:][path2]] [/O [drive3:][path3]filename3]
|/+n||Specifies the character number, n, to begin each comparison. For example, /+3 indicates that each comparison should begin at the 3rd character in each line. Lines with fewer than n characters collate before other lines. Comparisons start at the first character in each line by default.|
|/L[OCALE] locale||Overrides the system default locale with the one specified. The "C" locale yields the fastest collating sequence and is currently the only alternative. The sort is always case insensitive.|
|/M[EMORY] kilobytes||Specifies the 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, sort is done in one pass (no temporary file) if the sort fits in the default maximum memory size. Otherwise, the sort is 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] characters||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.|
|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 temporary system directory.
|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.|
MS-DOS, Windows 95, 98, ME, and NT syntax
Sorts input and writes results to the screen, a file, or another device.
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.|
This command would display the sorted results of the text in test.txt.
sort test.txt /o output.txt
This next command takes the sorted results and stores them in the output.txt file.
If you want to sort the listing of the files, you can use the dir command with one of the sorting switches. For example, "dir /on" sorts the files listed in alphabetical order. See the dir command page for further examples and options.