Sweepwell™ Empty Folder Cleaner 1.1.4
Read Me

Sweep out the empty folders.

Copyright (c) 2026 The Picture Org LLC. Free to use, not to modify or resell; see LICENSE.txt.
Sweepwell is a trademark of The Picture Org LLC.
If it saves you time, you can buy me lunch: https://paypal.me/SpearJohn


WHAT IT DOES

You give it a top-level folder. It finds every empty sub-folder anywhere inside it, including folders that hold
nothing but other empty folders, shows you the list, and removes them only after you say yes. The top-level folder
itself is never removed. Works on local drives, USB drives and network shares such as \\PICTUREORG\Projects
(on a Mac, /Volumes/Projects).

It comes three ways, all with the same rules: an app for Windows, an app for the Mac, and a Lightroom Classic plug-in
for both.


WINDOWS: INSTALL WITH SETUP (recommended)

Double-click ThePictureOrg-Sweepwell-Setup-1.1.4.exe. It installs for your Windows account only, with no administrator
permission, in AppData\Local\Programs\ThePictureOrg\Sweepwell. Choose what to add on the Components page:
  - Sweepwell, with Start menu shortcuts (always)
  - a desktop shortcut
  - a right-click entry in File Explorer: right-click a folder and choose "Remove empty folders (Sweepwell)"
    (on Windows 11 it's under "Show more options")
  - the Lightroom Classic plug-in
Remove it later in Settings > Apps, or with Start menu > Sweepwell Empty Folder Cleaner > Uninstall Sweepwell.
Setup is signed by The Picture Org LLC.


WINDOWS: USE THE ZIP INSTEAD (nothing installed)

1. Right-click the downloaded zip, choose Properties, tick "Unblock" and click OK.
2. Unzip it to any folder you can write to. Logs go in a Logs folder next to the script.
3. Double-click Launch.bat. To add the Lightroom plug-in, see LIGHTROOM below.
Sweepwell uses PowerShell 7 if it is installed, otherwise the Windows PowerShell that comes with Windows.


USING IT ON WINDOWS

  - Start Sweepwell (or double-click Launch.bat). Drag a folder onto the black window, or paste its path, and press
    Enter, or press Enter on its own to browse (the folder window has an address bar, so you can type or paste a
    path there too). Answer whether to treat junk files as empty (see below), check the
    list, then type Y to remove the folders or anything else to cancel.
  - Or drag a folder straight onto Launch.bat, or use the File Explorer right-click entry.
  - "Sweepwell (preview only)" / Preview-Only.bat only shows the list and never removes anything.
  - "Create an error log" (Start menu) / Create Error Log.bat saves a text file on your Desktop to email to The
    Picture Org if something goes wrong. Nothing is sent by itself.


MAC

Unzip ThePictureOrg-Sweepwell-Mac-1.1.4.zip and open "Install Sweepwell". Choose the app, the Lightroom Classic
plug-in, or both. No password is needed. Then open Applications > ThePictureOrg > Sweepwell: choose a folder, check
the list (Show List opens it in TextEdit), then click Remove. A progress window shows while it works, with a Stop
button. macOS may ask once whether Sweepwell can see the folder you chose; click Allow.
To type or paste a folder's path in the folder window, press Cmd-Shift-G.
If something goes wrong, click Create Error Log when Sweepwell asks "Clean another folder?": it saves a text file on
your Desktop to email to The Picture Org.
Prefer not to run an installer? Drag Sweepwell.app from the zip into your Applications folder instead.
To remove it, open "Uninstall Sweepwell".
From Terminal: Sweepwell.app/Contents/Resources/empty-folders.zsh --help


LIGHTROOM CLASSIC (Windows and Mac)

Library > Plug-in Extras > Find empty folders (under the Sweepwell™ heading). It finds folders with no photos in the catalog, checks each one on
disk, and shows you the list:
  - folders that are empty on disk too are removed from disk when you click Remove;
  - folders that are already gone from disk are listed;
  - folders that still have files on disk (for example sidecars, or files you never imported) are left alone.
Lightroom's plug-in kit can't remove folders from a catalog, so the plug-in then selects each one in the Folders
panel for you: right-click it and choose Remove. "Show next empty folder to remove" moves on to the next one.
Select folders in the Folders panel first to look only inside them (the selected folders themselves are kept).
If something goes wrong, Library > Plug-in Extras > Create an error log saves a text file on your Desktop to email
to The Picture Org.
Setup and the Mac installer add the plug-in for you. From the zip, use File > Plug-in Manager > Add and choose the
"Lightroom Plug-in\PictureOrgEmptyFolderCleaner.lrplugin" folder (keep that folder where it is afterwards).


UPDATES

Sweepwell checks for a newer version at most once a day (the Windows and Mac apps when they start, the plug-in when
Lightroom Classic starts). Only the version list is fetched; nothing about your computer or your folders is sent.
When there is one, Install downloads the installer, checks that it is signed by The Picture Org, and opens it.
Skip this version stops the reminders for that version. To turn the check off: in Lightroom, untick "Check for
updates automatically" in File > Plug-in Manager > Sweepwell; on Windows, type O at the update question (turn it
back on with Remove-EmptyFolders.ps1 -UpdateCheckOn); on a Mac, run in Terminal
  defaults write com.thepictureorg.sweepwright AutoUpdateCheck -string 0


WHAT COUNTS AS EMPTY

  - A folder with no files at all, hidden and system files included.
  - Optional junk files: Thumbs.db, ehthumbs.db, desktop.ini, .DS_Store, Mac "._" files and the hidden Mac "Icon"
    file are created by Windows and macOS on their own and can keep a folder from looking empty. Answer Yes to the
    junk question (or tick the box in Lightroom, or use -IncludeJunkFiles) to treat folders holding only these as
    empty; the files are removed with the folder. On Windows, a desktop.ini that gives its folder a custom icon or
    name (the folder is marked Read-only or System) is not treated as junk, so that folder is kept.


SAFETY

  - Nothing is removed until you have seen the list and said yes.
  - Links and junctions to other folders are never followed or removed.
  - These folders are left alone, with everything in them:
      recycle bins and snapshots: $RECYCLE.BIN, RECYCLER, System Volume Information, #recycle, #snapshot, @Recycle,
        @Recently-Snapshot, .snapshot, .snapshots, .zfs, .Trashes, .Trash, Backups.backupdb and similar;
      folders that are meant to be empty: .stfolder and .stversions (Syncthing), .git, lost+found, found.000;
      Mac packages, which are one file to a Mac: names ending in .photoslibrary, .aplibrary, .fcpbundle,
        .imovielibrary, .sparsebundle, .lrdata, .lrcat-data, .app, .framework, .bundle, .band, .tvlibrary,
        .musiclibrary.
  - A folder that gains a file between the list and the removal is not removed (nor its junk files), and neither
    are the folders around it.
  - Refused as the folder to clean: system folders (Windows, Program Files, AppData, /System, /Library, ~/Library
    and so on), your whole home folder, the Windows system drive (C:\) and the Mac startup disk, and anything inside
    the folders listed above. Other drives, USB disks and network shares can be cleaned from the top; the top folder
    itself is never removed. (In Lightroom, a drive or disk root is never removed either.)
  - Removed folders do not go to the Recycle Bin or Trash. Every run writes a CSV log as it goes, listing each folder
    removed, kept or left alone, with the reason, so you can recreate a folder if you need it:
    Windows (installed) %LOCALAPPDATA%\PictureOrg\EmptyFolderCleaner\Logs, Mac ~/Library/Logs/PictureOrg/EmptyFolderCleaner.
  - Folders synced with OneDrive, Dropbox, iCloud Drive, Google Drive or Mylio: removing them here removes them on
    your other devices too.


COMMAND LINE (Windows)

  pwsh -File Remove-EmptyFolders.ps1 "\\PICTUREORG\Projects\Smith Family"
  pwsh -File Remove-EmptyFolders.ps1 -Path "D:\Scans" -IncludeJunkFiles -PreviewOnly
  pwsh -File Remove-EmptyFolders.ps1 -Path "D:\Scans" -Yes              (no question; for scheduled tasks)

  Options: -IncludeJunkFiles, -PreviewOnly (or -WhatIf), -Yes, -LogFolder <folder>, -Interactive,
           -NoUpdateCheck, -UpdateCheckOn, -ErrorLog.
  Exit code 0 = done or nothing to do, 1 = some folders could not be removed, 2 = bad or refused folder.
  Get-Help .\Remove-EmptyFolders.ps1 -Full shows the full help.
