Skip to main content

PowerPointPipe Batch Processing via Command Line

Update thousands of PowerPoint presentations automatically using PowerPointPipe's command-line interface. Perform corporate rebranding, fix broken hyperlinks, update contact information, and standardize content across entire presentation libraries.

Basic Find and Replace

PowerPointPipe searches and replaces text across slides, speaker notes, slide masters, and embedded objects within PowerPoint files.

REM Basic PowerPointPipe find-and-replace
PowerPointPipe.exe /find:"Acme Corp" /replace:"Global Industries" /folder:"C:\Presentations\Sales" /include:"*.pptx"

REM Replace in slide text and speaker notes
PowerPointPipe.exe /find:"Q3 2024" /replace:"Q4 2024" /folder:"C:\Presentations\Quarterly" /include:"*.pptx" /slides /notes

REM Case-sensitive replacement in slide masters
PowerPointPipe.exe /find:"DRAFT" /replace:"FINAL" /folder:"C:\Templates" /include:"*.pptx;*.potx" /masters /matchcase

REM Replace across all element types
PowerPointPipe.exe /find:"john.smith@oldcompany.com" /replace:"john.smith@newcompany.com" /folder:"C:\Presentations" /include:"*.pptx" /all

Corporate Rebranding

After a merger, acquisition, or brand refresh, use PowerPointPipe to update company names, taglines, contact details, and branding references across your entire presentation library. This script handles a complete rebranding in multiple passes.

@echo off
REM Corporate Rebranding Script
REM Updates all presentations after merger: Acme Corp -> Global Industries Ltd

set PPTX_ROOT=\\FileServer\Marketing\Presentations
set BACKUP_DIR=C:\Backups\Rebranding\%date:~-4,4%%date:~-7,2%%date:~-10,2%
set LOG_FILE=C:\Logs\rebranding_%date:~-4,4%%date:~-7,2%%date:~-10,2%.log

if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"

echo [%date% %time%] Corporate rebranding started >> "%LOG_FILE%"

REM Step 1: Update company name (all variations)
PowerPointPipe.exe /find:"Acme Corporation" /replace:"Global Industries Ltd" /folder:"%PPTX_ROOT%" /include:"*.pptx;*.potx" /recurse /all /backup:"%BACKUP_DIR%"
PowerPointPipe.exe /find:"Acme Corp" /replace:"Global Industries" /folder:"%PPTX_ROOT%" /include:"*.pptx;*.potx" /recurse /all
PowerPointPipe.exe /find:"ACME" /replace:"GLOBAL INDUSTRIES" /folder:"%PPTX_ROOT%" /include:"*.pptx;*.potx" /recurse /all /matchcase
echo [%date% %time%] Step 1: Company names updated >> "%LOG_FILE%"

REM Step 2: Update tagline
PowerPointPipe.exe /find:"Innovation Through Simplicity" /replace:"Transforming Data, Empowering Business" /folder:"%PPTX_ROOT%" /include:"*.pptx;*.potx" /recurse /slides /masters
echo [%date% %time%] Step 2: Tagline updated >> "%LOG_FILE%"

REM Step 3: Update website and email domains
PowerPointPipe.exe /find:"www.acmecorp.com" /replace:"www.globalindustries.com" /folder:"%PPTX_ROOT%" /include:"*.pptx" /recurse /all
PowerPointPipe.exe /find:"@acmecorp.com" /replace:"@globalindustries.com" /folder:"%PPTX_ROOT%" /include:"*.pptx" /recurse /all
echo [%date% %time%] Step 3: Web and email domains updated >> "%LOG_FILE%"

REM Step 4: Update phone numbers
PowerPointPipe.exe /find:"+1 (555) 100-2000" /replace:"+1 (555) 800-9000" /folder:"%PPTX_ROOT%" /include:"*.pptx" /recurse /slides /notes
echo [%date% %time%] Step 4: Contact numbers updated >> "%LOG_FILE%"

REM Step 5: Update legal disclaimers
PowerPointPipe.exe /find:"Copyright 2024 Acme Corporation. All rights reserved." /replace:"Copyright 2025 Global Industries Ltd. All rights reserved." /folder:"%PPTX_ROOT%" /include:"*.pptx;*.potx" /recurse /slides /masters /notes
echo [%date% %time%] Step 5: Legal disclaimers updated >> "%LOG_FILE%"

echo [%date% %time%] Rebranding complete. Backup: %BACKUP_DIR% >> "%LOG_FILE%"

After infrastructure changes, presentations often contain broken links to old intranet sites, SharePoint locations, or file shares. PowerPointPipe fixes hyperlinks in bulk.

@echo off
REM Fix broken hyperlinks across all presentation decks
REM Run after SharePoint Online migration

set DECK_ROOT=C:\SharedDrive\Presentations
set LOG=C:\Logs\pptx_linkfix.log

echo [%date% %time%] Hyperlink repair started >> "%LOG%"

REM Update old SharePoint on-premises URLs to SharePoint Online
PowerPointPipe.exe /find:"http://sharepoint.internal/sites" /replace:"https://company.sharepoint.com/sites" /folder:"%DECK_ROOT%" /include:"*.pptx" /recurse /hyperlinks
echo [%date% %time%] SharePoint URLs updated >> "%LOG%"

REM Fix HTTP to HTTPS for all internal links
PowerPointPipe.exe /find:"http://intranet.company.com" /replace:"https://intranet.company.com" /folder:"%DECK_ROOT%" /include:"*.pptx" /recurse /hyperlinks
echo [%date% %time%] HTTP->HTTPS migration done >> "%LOG%"

REM Update file server references in action buttons and hyperlinks
PowerPointPipe.exe /find:"\\OLDSRV\presentations" /replace:"\\NEWNAS\marketing\presentations" /folder:"%DECK_ROOT%" /include:"*.pptx" /recurse /hyperlinks
echo [%date% %time%] File server paths updated >> "%LOG%"

REM Update video streaming URLs embedded in presentations
PowerPointPipe.exe /find:"https://stream.oldplatform.com/embed" /replace:"https://video.company.com/embed" /folder:"%DECK_ROOT%" /include:"*.pptx" /recurse /all
echo [%date% %time%] Streaming URLs updated >> "%LOG%"

echo [%date% %time%] Link repair complete >> "%LOG%"

Batch Folder Processing

Process presentation libraries organized by department, event, or year. This example processes multiple folder trees in a single batch run with progress tracking.

@echo off
REM Multi-department presentation update
REM Updates year references and contact info across all departments

setlocal enabledelayedexpansion

set DEPARTMENTS=Sales Marketing Engineering Legal HR Finance
set ROOT=\\FileServer\Departments
set TOTAL=0

for %%D in (%DEPARTMENTS%) do (
    echo Processing %%D presentations...

    REM Update year references
    PowerPointPipe.exe /find:"2024" /replace:"2025" /folder:"%ROOT%\%%D\Presentations" /include:"*.pptx" /recurse /slides /notes

    REM Update department head contact (example)
    PowerPointPipe.exe /find:"VP of %%D: Jane Doe" /replace:"VP of %%D: John Smith" /folder:"%ROOT%\%%D\Presentations" /include:"*.pptx" /recurse /slides

    echo   %%D complete.
    set /a TOTAL+=1
)

echo.
echo All %TOTAL% departments processed successfully.

Scheduled Execution

Automate presentation maintenance with Windows Task Scheduler. Schedule regular compliance updates, link audits, or branding refreshes to run unattended.

Using schtasks.exe (Command Line)

REM Schedule monthly presentation compliance update (1st of each month at 3:00 AM)
schtasks /create /tn "DataMystic\PowerPointPipe Monthly Compliance" /tr "\"C:\Scripts\pptxpipe_compliance.bat\"" /sc monthly /d 1 /st 03:00 /ru SYSTEM /rl HIGHEST

REM Schedule weekly link audit every Saturday at 2:00 AM
schtasks /create /tn "DataMystic\PowerPointPipe Link Audit" /tr "\"C:\Scripts\pptxpipe_links.bat\"" /sc weekly /d SAT /st 02:00 /ru SYSTEM /rl HIGHEST

REM Verify task was created
schtasks /query /tn "DataMystic\PowerPointPipe Monthly Compliance" /v /fo LIST

Using PowerShell (Task Scheduler Cmdlets)

# Schedule PowerPointPipe monthly compliance scan
# Runs on the 1st of each month at 3:00 AM

$action = New-ScheduledTaskAction `
    -Execute "C:\Scripts\pptxpipe_compliance.bat" `
    -WorkingDirectory "C:\Scripts"

$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Saturday -At "02:00"

$settings = New-ScheduledTaskSettingsSet `
    -StartWhenAvailable `
    -RestartCount 2 `
    -RestartInterval (New-TimeSpan -Minutes 15) `
    -ExecutionTimeLimit (New-TimeSpan -Hours 4) `
    -AllowStartIfOnBatteries `
    -DontStopIfGoingOnBatteries

$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest

Register-ScheduledTask `
    -TaskName "DataMystic\PowerPointPipe Weekly Link Audit" `
    -Action $action `
    -Trigger $trigger `
    -Settings $settings `
    -Principal $principal `
    -Description "Weekly PowerPointPipe scan to fix broken hyperlinks across presentation library"

# Verify registration
Get-ScheduledTask -TaskName "PowerPointPipe Weekly Link Audit" -TaskPath "\DataMystic\" | Format-List

Next Steps