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 top.
Open sourcing File Manager was mostly for fun.
“It’s a bit of nostalgia, a blast from the past, simply because it was captured and maintained,” said Paul Teich, principal analyst at Tirias Research.
File Manager could service as a nice addition for an introductory course for someone who wants to learn about file systems, he told LinuxInsider.
“Outside of computer science classroom demos or nostalgic remembrances of 1990s era computing, I can’t think of any practical reasons to run Windows File Manager on a Windows 10 — or any other Windows system,” said Charles King, principal analyst at Pund-IT.
There are more than a few Windows users still working on archaic Windows applications that might have some use for the old File Manager, but Linux users won’t gain much from it.
Still, the move does reflect Microsoft’s eagerness to embrace the open source community, which previously been a no-go zone.
“We released WinFile as OSS given developer interest in using the tool and felt the release would further support Microsoft’s overall developer ecosystem, dedication to open source, and illustrate Microsoft’s commitment to OSS,” a Microsoft spokesperson said in a statement provided to LinuxInsider by company rep Joel Gunderson.
Just last week Microsoft released a new tool to make it easier for programmers and developers to run Linux on Windows 10. The tool also makes it easier for Linux Distro distribution maintainers to bring their distros to the Windows Store.