Batch Compress and Convert on Windows
Automate repetitive compress jobs on Windows with Task Scheduler, PowerShell scripts, or folder watching in GetCompress.
Same export folder every Friday? Automation saves clicks. One random file once a month? Just use Photos. Batch compress and convert on Windows makes sense when settings repeat and file counts climb past what manual export tolerates.
Automation is not free either. You spend time once on presets, Task Scheduler jobs, or scripts so every future Friday is one step instead of thirty. Stop automating when the settings change every job.
When automation is worth it
| Signal | Example |
|---|---|
| Same settings weekly | Render output folder |
| Many files at once | Whole photo shoot |
| Shared PC | Same steps for everyone |
| Upload cap every send | Email or portal limit |
If the pain is occasional email bounces, read the email attachment size limits guide first. You may only need a one-time batch, not a permanent watch folder.
Batch workflow examples
These patterns show up often in design, QA, and content workflows:
| Workflow | Input | Output | Tool starting point |
|---|---|---|---|
| Web handoff | PNG UI shots | JPEG max 1920 px | GetCompress preset |
| Bug clips | MOV screen capture | MP4 720p under 20 MB | GetCompress target file size |
| Scan archive | Large PDF | Compressed PDF | Print to PDF or GetCompress |
| Podcast raw | MP4 interview | M4A 128 kbps | FFmpeg or GetCompress |
| Social stills | HEIC from phone | JPEG for CMS | GetCompress batch convert |
Before you automate, write down the preset once: max width, codec, and target folder. Automation fails when “smaller” is vague and every run picks different settings. Share the preset name with teammates so Friday exports look identical to last week.
For video-heavy batches, the video compression guide for Windows explains bitrate and resolution tradeoffs before you lock a preset. Sensitive client work should stay local; the online compressor safety guide for Windows explains why upload batch tools are a poor fit.
Task Scheduler basics
Task Scheduler (search in Start) can run a PowerShell script on a schedule or when you log in.
- Save your script (see below) as
compress.ps1. - Task Scheduler → Create Task → Triggers (for example weekly or at logon).
- Actions → Start a program →
powershell.exewith argument-File C:\path\compress.ps1.
No coding required beyond the script itself. Test the task on a copy folder first. Task Scheduler is a good fit when IT requires scheduled jobs you can audit. For “new file appeared” triggers, folder monitoring in GetCompress is usually simpler than wiring file watchers in PowerShell.
Log task output to a file when debugging (>> C:\Logs\compress.log 2>&1). Silent failures on Friday night exports are worse than a loud error on a test folder.
PowerShell script
Optional. Open Command Prompt or PowerShell. Install FFmpeg with winget:
winget install --id Gyan.FFmpeg -e
Edit paths, save as compress.ps1, then run:
cd C:\Exports\in
Get-ChildItem *.jpg | ForEach-Object {
ffmpeg -i $_.Name -vf scale=1920:-2 -q:v 3 "C:\Exports\out\$($_.Name)"
}
Get-ChildItem *.mov | ForEach-Object {
ffmpeg -i $_.Name -vf scale=-2:1080 -c:v libx264 -crf 23 `
-c:a aac -b:a 128k "C:\Exports\out\$($_.BaseName).mp4"
}
Someone technical should maintain this when Windows or FFmpeg updates. Scripts do not give you preview, trim, or mixed PDF plus video in one queue unless you write that logic yourself.
Document the script in your team wiki: input folder, output folder, and which codec flags you chose. The next person should not reverse-engineer CRF values from a scheduled task description.
| Script task | Schedule idea | Maintenance |
|---|---|---|
| Weekly render cleanup | Friday 6 PM | Update paths after project moves |
| Login batch | At logon | Watch for locked input files |
| One-shot folder | Manual run | Delete task after migration |
Folder monitoring in GetCompress
In GetCompress settings, turn on folder monitoring, choose a watch folder, and attach a saved preset. New JPEG, MP4, or PDF files process automatically when they appear.
| Watch folder | Preset | Result |
|---|---|---|
C:\Exports\web | Web JPEG 1920 px | Ready for CMS upload |
C:\Videos\Captures | MP4 1080p | Smaller bug repro clips |
C:\Documents\Scans\in | PDF medium | Lighter attachments |
Output goes to a folder you pick. Files stay on your PC. No upload step. This is the lowest-maintenance way to batch compress and convert on Windows when the trigger is “new file landed” rather than a clock-based Task Scheduler job.
Using GetCompress
GetCompress covers manual batch runs and ongoing folder watches:
- Drop an entire folder for a one-time batch when you only need a single run this week.
- Queue mixed PNG, MP4, and PDF with one preset per media type where settings differ.
- Save presets (web JPEG, email PDF, Slack MP4) and reuse them on the next job.
- Enable folder monitoring when exports land in the same directory on a fixed schedule.
- Trim video and preview output before export so you do not re-open Clipchamp for every clip.
Pair folder monitoring with MCP when you also want Cursor to trigger the same presets on demand. For most freelancers and small teams, monitoring plus saved presets replaces hand-maintained PowerShell scripts and scheduled tasks.
- Reduce File Size on WindowsFree space on Windows by compressing video, photos, PDF, GIF, and audio with Photos, Clipchamp, and GetCompress.
- MCP automation on WindowsLet Cursor or Claude Desktop run local compress tools on Windows through MCP, including GetCompress.
- For freelancersPackage MP4, PNG, JPEG, and PDF review copies and deliverables for reliable client handoffs without losing track of masters, versions, or acceptance criteria.
- Automatic Folder Compression on WindowsSet up automatic folder compression on Windows so new JPEG, MP4, and PDF files compress when they land in a watch folder. Local presets, no upload step.
Buy GetCompress now for local media compression with reusable presets and no media upload.