MoveShellFolder | Bit of source that can be compiled into a command line app

 by   randyrants C++ Version: Current License: MIT

kandi X-RAY | MoveShellFolder Summary

kandi X-RAY | MoveShellFolder Summary

MoveShellFolder is a C++ library. MoveShellFolder has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

In my current job, I find that I'm re-installing Windows on several PC's every Monday and then using the PC's for the rest of the week. Installing Windows is pretty simple but having used Windows for several decades there are some tweaks and configuration things that I do on each box that makes my life easier. Some of these are already easily automated through CMD, Registry files, or PowerShell scripts. Some are not. One of the things that I started doing with Windows 98 or Windows 2000 - too long ago to remember for certain - is to "move" certain Shell folders from their default location to the root of the C: drive. Why? Because when I'm using a UNC path to get to the machine \machinename\c$\Desktop is a heck of a lot shorter than \machinename\c$\Users\UserName\Desktop. Why not just use some folders off C:\ to store content? I actually did that for a long while, but over time, I began to appreciate that Windows was creating folders like this for me and it became obvious that the "My Documents" concept was going to stick around for a while so, I figured it would be neat to bend the feature to do the best of both worlds. In the old days, this was done with a simple Registry key change. In recent days, Windows 10 gives you a ton of warning not to make this change with the Registry: you either have to do make the change using the property sheets for the folder or call the SHSetFolderLocation API. The property page works very well: it not only creates the new directory, moves the files from old to new location, but it also updates the Shell to reflect the changes. The SHSetFolderLocation API does not. And I tried calling it from a Win32 app, from PowerShell, with and without Administrator privledges - it just doesn't happen. After spelunking through some other examples, I discovered a COM interface that would do some of what I wanted the "move" to do. Or at least enough of the functionality that I wanted it to, so I now have a single utility that will move some Shell folders and update the Shell as I want it to. Why share the source? Based off the examples I found online - or lack there of - not many people are using this API, so I'm adding the source here so I can keep a live back up and to share the knowledge I've collected by my searches and research. What are next steps? I suppose that the main() function can be updated to take in command line parameters so it can move the content all over. Since it's a hybrid of managed C++ and COM, there could also be some bug fixes that prevent memory leaks, although I do not see people calling this CMD app very often. As per all of my other projects, I'm happy to merge in pull requests after reviewing them, and updating the source as new things come around.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              MoveShellFolder has a low active ecosystem.
              It has 2 star(s) with 0 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              MoveShellFolder has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of MoveShellFolder is current.

            kandi-Quality Quality

              MoveShellFolder has no bugs reported.

            kandi-Security Security

              MoveShellFolder has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              MoveShellFolder is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              MoveShellFolder releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of MoveShellFolder
            Get all kandi verified functions for this library.

            MoveShellFolder Key Features

            No Key Features are available at this moment for MoveShellFolder.

            MoveShellFolder Examples and Code Snippets

            No Code Snippets are available at this moment for MoveShellFolder.

            Community Discussions

            No Community Discussions are available at this moment for MoveShellFolder.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install MoveShellFolder

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/randyrants/MoveShellFolder.git

          • CLI

            gh repo clone randyrants/MoveShellFolder

          • sshUrl

            git@github.com:randyrants/MoveShellFolder.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link