Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Deleting Windows folders...

Deleting Windows folders...

Scheduled Pinned Locked Moved The Lounge
question
24 Posts 13 Posters 23 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D dandy72

    I have a 2TB SSD that was used to run Windows (on another machine), and Hyper-V...the machine it was hooked up to died months ago, but I did continue to use the SSD in an external USB dock to run the VMs. I have no use for the Windows installation on the drive; I'm not booting from it. So I tried to get rid of everything but the VMs. My god, is it ever an adventure to try to get rid of the existing Program Files, Program Files (x86), ProgramData and Windows folders - even though Windows is NOT running from that disk. Taking ownership of folders, making sure the new ACL applies to child items (files *and* folders), deleting what you can, repeating for whatever Explorer refused to delete the first time around, etc. At this stage, it would've been faster to move the 1.7+ TB worth of VMs on it to another drive, reformat it, and copy the files back. If I was trying to delete folders owned by the OS that is currently running - obviously that's bound to fail. But the OS is on a *data* drive; it *ought* to be easy to take ownership of folders, and delete the whole thing. But nope. I've also been tempted to convert from NTFS to FAT32 (that *will* get rid of all folder permissions), and then back...but that would probably be even slower than moving the data I care about, reformatting, and recopying the files... Anyone's been down that road?

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #15

    Maybe SSD's are "small" so you don't keep anything except the OS on them. I'm in awe when a product lets me install on the drive I choose.

    "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

    D 1 Reply Last reply
    0
    • L Lost User

      Maybe SSD's are "small" so you don't keep anything except the OS on them. I'm in awe when a product lets me install on the drive I choose.

      "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

      D Offline
      D Offline
      dandy72
      wrote on last edited by
      #16

      Wut? This SSD is 2TB. It hosted both an OS (Windows 10) and Hyper-V VMs. Since each VM hosts its own OS, it makes sense to put VMs on SSD and not bulk storage disks like spinning disks.

      1 Reply Last reply
      0
      • J jschell

        Interesting problem. Googling I found the following. First response certainly seems informed. I didn't even know about the commands presented. https://superuser.com/questions/915173/delete-old-windows-program-files-from-second-drive[^]

        R Offline
        R Offline
        RodClark
        wrote on last edited by
        #17

        Yep, the method linked is the 'correct'/'best' method... Takeown and then icalcs Rod

        1 Reply Last reply
        0
        • OriginalGriffO OriginalGriff

          That's the way I'd do it - and probably a repartition to dump any bootable stuff as well.

          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

          G Offline
          G Offline
          Gary Wheeler
          wrote on last edited by
          #18

          diskpart
          list disk
          select disk #
          clean
          gpt
          exit

          Software Zen: delete this;

          1 Reply Last reply
          0
          • D dandy72

            I have a 2TB SSD that was used to run Windows (on another machine), and Hyper-V...the machine it was hooked up to died months ago, but I did continue to use the SSD in an external USB dock to run the VMs. I have no use for the Windows installation on the drive; I'm not booting from it. So I tried to get rid of everything but the VMs. My god, is it ever an adventure to try to get rid of the existing Program Files, Program Files (x86), ProgramData and Windows folders - even though Windows is NOT running from that disk. Taking ownership of folders, making sure the new ACL applies to child items (files *and* folders), deleting what you can, repeating for whatever Explorer refused to delete the first time around, etc. At this stage, it would've been faster to move the 1.7+ TB worth of VMs on it to another drive, reformat it, and copy the files back. If I was trying to delete folders owned by the OS that is currently running - obviously that's bound to fail. But the OS is on a *data* drive; it *ought* to be easy to take ownership of folders, and delete the whole thing. But nope. I've also been tempted to convert from NTFS to FAT32 (that *will* get rid of all folder permissions), and then back...but that would probably be even slower than moving the data I care about, reformatting, and recopying the files... Anyone's been down that road?

            S Offline
            S Offline
            ShawnVN
            wrote on last edited by
            #19

            I too got tired of this problem and wrote a little cmd line tool for this.. GitHub - windojitsu/OwnAndResetAcl: Reclaim ownership and control of a directory tree.[^] OwnAndResetAcl A sanity-saving tool for dealing with those pesky "Windows.old" directories Reclaim ownership and control of a directory tree. Recursively takes ownership and resets the ACLs of files, directories and symbolic links. Does NOT follow reparse-points (symlinks or junctions). DOES reclaim ownership and restore access to symlinks and junctions. DOES support traversing/accessing long pathnames. DOES include hidden/system files and directories, and empty directories. DOES NOT modify timestamp or attributes of any files/directories. USE WITH EXTREME CAUTION: Everything in and under the target directory will be owned by the 'Builtin\Administrators' group, and have a DACL which explicitly grants Everyone full-control.

            D 1 Reply Last reply
            0
            • S ShawnVN

              I too got tired of this problem and wrote a little cmd line tool for this.. GitHub - windojitsu/OwnAndResetAcl: Reclaim ownership and control of a directory tree.[^] OwnAndResetAcl A sanity-saving tool for dealing with those pesky "Windows.old" directories Reclaim ownership and control of a directory tree. Recursively takes ownership and resets the ACLs of files, directories and symbolic links. Does NOT follow reparse-points (symlinks or junctions). DOES reclaim ownership and restore access to symlinks and junctions. DOES support traversing/accessing long pathnames. DOES include hidden/system files and directories, and empty directories. DOES NOT modify timestamp or attributes of any files/directories. USE WITH EXTREME CAUTION: Everything in and under the target directory will be owned by the 'Builtin\Administrators' group, and have a DACL which explicitly grants Everyone full-control.

              D Offline
              D Offline
              dandy72
              wrote on last edited by
              #20

              Y'know...I had actually given some thought to writing a utility or script to do exactly this, but I figured it ought to get more complex than I might have anticipated from the get-go. Thank you *very* much for the link, I'll be sure to check it out as soon as time permits.

              S 1 Reply Last reply
              0
              • D dandy72

                Y'know...I had actually given some thought to writing a utility or script to do exactly this, but I figured it ought to get more complex than I might have anticipated from the get-go. Thank you *very* much for the link, I'll be sure to check it out as soon as time permits.

                S Offline
                S Offline
                ShawnVN
                wrote on last edited by
                #21

                yeah there's a lot of advice out there "just run takeown.exe and icacls.exe" but at some point, Windows.old directory structures started containing pathnames > 260 chars, and directory symlinks that loop back on themselves.. it's maddening! further maddening, the .NET interop to call Advapi32 to enable necessary admin permissions, was extremely non-intuitive.. lots of old, bad code out there that works on x86 but not on x64 due to differences in struct-packing (member alignment) lmk if it helps or fails in any way.. haven't tested it on Win11, yet

                D 1 Reply Last reply
                0
                • S ShawnVN

                  yeah there's a lot of advice out there "just run takeown.exe and icacls.exe" but at some point, Windows.old directory structures started containing pathnames > 260 chars, and directory symlinks that loop back on themselves.. it's maddening! further maddening, the .NET interop to call Advapi32 to enable necessary admin permissions, was extremely non-intuitive.. lots of old, bad code out there that works on x86 but not on x64 due to differences in struct-packing (member alignment) lmk if it helps or fails in any way.. haven't tested it on Win11, yet

                  D Offline
                  D Offline
                  dandy72
                  wrote on last edited by
                  #22

                  Quick follow-up: I just had a quick look at the source - this is excellent stuff, my hat's off to you for putting this together. You can bet I'll be using it to clear off whatever remains on my drive. They say necessity is the mother of invention, so I think I know exactly what you went through to convince yourself to take the time to create this project. It's short(-ish), to-the-point, and despite the technical complexities involved, is very well structured and elegant code. How do I vote a 5 on GitHub? :-)

                  S 1 Reply Last reply
                  0
                  • D dandy72

                    Quick follow-up: I just had a quick look at the source - this is excellent stuff, my hat's off to you for putting this together. You can bet I'll be using it to clear off whatever remains on my drive. They say necessity is the mother of invention, so I think I know exactly what you went through to convince yourself to take the time to create this project. It's short(-ish), to-the-point, and despite the technical complexities involved, is very well structured and elegant code. How do I vote a 5 on GitHub? :-)

                    S Offline
                    S Offline
                    ShawnVN
                    wrote on last edited by
                    #23

                    2021 .. I credit pandemic-boredom. :)

                    D 1 Reply Last reply
                    0
                    • S ShawnVN

                      2021 .. I credit pandemic-boredom. :)

                      D Offline
                      D Offline
                      dandy72
                      wrote on last edited by
                      #24

                      I get that. :-) Yet it's the sort of thing that, when you need it - it's incredibly valuable.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups