Paying for multiple apps when I don’t even use them to the fullest seemed like a waste. Each one served different purposes but had one common goal: managing and organizing my files. Individually, each app made sense. Together, they felt like overkill.
That’s when I realized something. Why should I use three separate paid tools for tasks that feel almost identical? I opened a code editor and started applying my Python skills to come up with something. It worked better than I expected. No, it’s not a full-fledged replacement for those tools. But it gets the job done.
This Bash script replaced 3 apps I use everyday
How a simple script can transform your desktop cleanup.
File Juggler
File automation is great, until it starts feeling like overengineering
I installed File Juggler for a very simple reason: my Downloads folder was a mess. Screenshots mixed with PDFs, random ZIP files sitting next to images, installers piling up. File Juggler promised to automate that with rules: “move images here,” “send documents there,” “rename this if it matches that.” And to be fair, it works really well.
But like a lot of these automation tools, it comes with a catch. After the trial period, you need to pay to keep using it. And more importantly, the deeper I got into it, the more I realized I didn’t actually need most of what it offered.
At some point, it clicked: this isn’t really a “feature-rich automation problem.” It’s just a loop over files with a few conditions. That’s something Python handles effortlessly.
Here’s a simplified version of what replaced it for me:
from pathlib import Path
import shutil
source = Path("C:/Users/YourName/Downloads")
folders = {
".jpg": "Images",
".png": "Images",
".pdf": "Documents",
".zip": "Archives",
".exe": "Installers"
}
for file in source.iterdir():
if file.is_file():
target_folder = folders.get(file.suffix.lower())
if target_folder:
destination = source / target_folder
destination.mkdir(exist_ok=True)
shutil.move(str(file), destination / file.name)
Even if you’ve never written Python before, this is fairly readable:
- We look at every file in the Downloads folder
-
Check its extension (
.jpg,.pdf, etc.) - Match it against a simple rule dictionary
- Move it into the corresponding folder
To be clear, File Juggler is far more powerful than this. It can monitor folders in real time, apply complex conditions, and even trigger actions beyond simple file moves. But I wasn’t using any of that. I just needed my files to go where they belonged. And for that, a dozen lines of Python turned out to be more than enough.
This Bash script automated my messy downloads folder
Bulky, assorted files filling up my Downloads folder are no more.
Advanced Renamer
A powerful tool I was only scratching the surface of
If there’s one category of utility software that tends to go overboard, it’s batch renaming tools. Advanced Renamer is a great example. It’s incredibly capable. You can build complex renaming rules, use tags, apply scripts, preview changes in real time, and fine-tune just about every part of a filename. To its credit, it even offers a free version for personal use.
However, if you’re using it professionally, you’ll need a license. Some of the more advanced capabilities are clearly geared toward paid users as well. The problem, at least for me, was much simpler.
Most of the time, I just wanted to clean up messy filenames, apply a consistent naming pattern, and maybe add a number or date. But every time I opened Advanced Renamer, I was greeted with a dense interface full of options I didn’t need.
At some point, I realized this was the same pattern as before: I was using a very powerful tool for a very predictable task. Here’s what replaced it:
from pathlib import Path
folder = Path("C:/Users/YourName/Downloads/Images")
files = [f for f in folder.glob("*") if f.is_file()]
for i, file in enumerate(files):
new_name = folder / f"photo_{i+1}{file.suffix}"
if not new_name.exists():
file.rename(new_name)
else:
print(f"Skipped: {new_name.name} already exists!")
This script does three simple things:
- Loops through all files in a folder
- Assigns each one a sequential number
- Renames them using a consistent format
For more advanced use cases, Python also supports regular expressions, which means you can replicate a lot of the smart renaming logic these tools advertise. But in practice, I rarely needed that level of complexity.
Organize Your Linux Files the Easy Way With These 5 Batch Rename Methods
Fix up your filenames in a flash.
Adobe Acrobat Pro
Paying a subscription just to merge a couple of PDFs didn’t sit right with me
PDF tools are one of those things you don’t think about until you suddenly need them. For me, that usually meant merging a few PDFs, rearranging pages, or occasionally converting images into a single document. I found Adobe Acrobat Pro quite good for that. It does everything you could possibly want with PDFs. But it comes with a subscription.
While Acrobat is incredibly powerful, I wasn’t using 95% of its features. I wasn’t editing complex documents, adding annotations, or dealing with OCR. Once again, the pattern was familiar: the task itself was simple. It was just hidden behind a large interface and a paid subscription.
Here’s what replaced it:
from pypdf import PdfWriter
files = ["file1.pdf", "file2.pdf", "file3.pdf"]
merger = PdfWriter()
for file in files:
merger.append(file)
merger.write("merged.pdf")
merger.close()
This script takes a list of PDFs and merges them into a single file. If you need a bit more flexibility, you can easily extend this to automatically grab all PDFs in a folder, sort them before merging, and rename the output dynamically.
And for cases where I needed to convert images into a PDF, a small addition with Pillow handled that just as easily.
My Setup for a Better File Browsing Experience on Windows
Never wait for a search to complete again.
A single reusable tool for file management
What started as a small experiment ended up changing how I approach these tools for everyday tasks on Windows. The goal was not to replace the software I mentioned. I wanted to see if I could put my most-used features into a single Python script. I’m quite happy with how it turned out.
- OS
-
Windows, macOS, iPhone, iPad, Android
- Brand
-
Microsoft
- Price
-
$100/year
- Developer(s)
-
Microsoft
- Free trial
-
1 month
Microsoft 365 includes access to Office apps like Word, Excel, and PowerPoint on up to five devices, 1 TB of OneDrive storage, and more.

















