Microsoft has rummaged deep into its archive for its latest contribution to the open source community: Windows File Manager.
Originally bundled with Windows in 1990, File Manager was a replacement for the command-line interface in MS-DOS. The program was used to search, open, copy and delete files until it was replaced by Windows Explorer, which followed the introduction of Windows 95.
Craig Wittenberg, a veteran of Microsoft, has maintained the code since 2007, after copying it from the Windows NT 4 source tree in November of that year. He released the code this week on GitHub under an MIT license.
The branch named "original_plus" contains a very limited set of modifications to allow winfile.exe to run on today's version of Windows, according to Wittenberg.
Among the changes in original_plus:
Converted to Visual Studio solution; works on VS 2015 and 2017
Compiles and runs on 64-bit Windows (e.g. Get WindowLong -> Get WindowLongPtr, LONG -> LPARAM)
Added header files stored in elsewhere in the NT source tree (e.g., wfext.h)
Deleted some unused files (e.g. winfile.def)
Converted 64-bit arithmetic from internal libraries to C
Converted internal shell APIs to public APIs
A larger number of changes were made in master v10.0, which represent all the changes Wittenberg made since 2007. A summary of the changes:
OLE drag/drop support
Control characters (e.g. ctrll+C) map to current short cut (e.g. ctrl+C -> copy ) instead of changing drives
Cut (ctrl + X) followed by paste (ctrl + V) translates into a file move
Left and right arrows in the tree view expand and collapse folders like in Explorer
Added context menus in both panes
Improved icon display for files
F12 runs notepad or notepad ++ on the selected file
Moved ini file location to %AppData%\Roaming\Microsoft\WinFile
File.search can include a date that limits files returned to after date is provided; output sorted by date instead of name
File.Search includes option whether to include sub directories
ctrl+K starts command shell (ConEmu if installed) in the current directory; shift+cntrl+K starts elevated command shell (cmd.exe only)
File.Goto (ctrl+G) gets list of directories after typing a few words of a path
UI shows reparse points
Simple forward/back navigation added
View command has new option to sort by date forward, meaning oldest first. Default is newest on to