News

'90s-Era File Manager Open Sourced, Available as Visual Studio Solution

Microsoft's Craig Wittenberg has revived the original File Manager that first came with Windows 3.0 in 1990, getting it to run on Windows 10 and making it available as a Visual Studio solution.

"The Windows File Manager lives again and runs on all currently supported version of Windows, including Windows 10," said Wittenberg in his GitHub WinFile project, which includes two primary source code version in the master branch:

  1. original_plus tag: refers to the source for WinFile as of Windows NT4 with minimal changes so that it compiles with Visual Studio and runs on current Windows.
  2. current master: contains Wittenberg's personal changes/additions to WinFile.

The project's /src directory is full of C programming language files, header files and a Winfile.sln Visual Studio solution that resulted from tweaking original WinFile source code in order to build with Visual Studio.

While File Manager was introduced with Windows 3.0, Wittenberg said his original_plus source code was copied from the November 2007 Windows NT 4 source tree.

Wittenberg had to tweak that original source code to get it to run on more modern Windows OSes, with changes including converting it to the Visual Studio solution that works on VS 2015 and VS 2017.

Many more tweaks were needed since 2007 -- incorporated in the master branch -- to get File Manager to run on Windows 10.

  1. OLE drag/drop support
  2. control characters (e.g., ctrl+C) map to current short cut (e.g., ctrl+c -> copy) instead of changing drives
  3. cut (ctrl+X) followed by paste (ctrl+V) translates into a file move as one would expect
  4. left and right arrows in the tree view expand and collapse folders like in the Explorer
  5. added context menus in both panes
  6. improved the means by which icons are displayed for files
  7. F12 runs notepad or notepad++ on the selected file
  8. moved the ini file location to %AppData%\Roaming\Microsoft\WinFile
  9. File.Search can include a date which limits the files returned to those after the date provided; the output is also sorted by the date instead of by the name
  10. File.Search includes an option as to whether to include sub-directories
  11. ctrl+K starts a command shell (ConEmu if installed) in the current directory; shfit+ctrl+K starts an elevated command shell (cmd.exe only)
  12. File.Goto (ctrl+G) enables one to type a few words of a path and get a list of directories; selecting one changes to that directory. Only drive c: is indexed.
  13. UI shows reparse points (e.g., Junction points) as such
  14. added simple forward / back navigation (probably needs to be improved)
  15. View command has a new option to sort by date forward (oldest on top); normal date sorting is newest on top

"The changes have been solely determined by my needs and personal use," Wittenberg said. "Some of the changes have limitations that fit the way I use the tool. For example, the path index which supports the new goto command only contains information for the c: drive." He noted he hadn't redesigned or restructured WinFile in any major way.

He also said he would consider bug fixes and minor changes for the master branch, but won't be making any such changes to the original_plus branch. "You are welcome do that on your own," he said.

The entire history of File Manager is available in a Wikipedia entry.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube