I replaced 3 paid productivity apps with one simple Python script

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.

Bash terminal icon inside an infinity loop surrounded by parameter expansion symbols.

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

Configuring file sorting automation in File Juggler.

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.

Tux, the Linux mascot, wearing sunglasses and peeking from behind a large terminal window displaying globbing commands.

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

An example of the interface of Advanced Renamer tool on Windows.

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.

A hand using a laptop and Linux mascot coming out of the screen with a gear and some files behind.

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

Adobe Acrobat Reader DC on Microsoft Store. Credit: Zunaid Ali / How-To Geek

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.

Windows Explorer attached to a rocket.

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.


Source link

Visited 1 times, 1 visit(s) today

Related Article

0
Would love your thoughts, please comment.x
()
x