Forum Discussion
What is the fastest way to export all photos from my iPhone to pc?
Windows has a built-in automation framework called WIA (Windows Image Acquisition) that is typically used for scanners. However, it can also interface with any camera device recognized by Windows—including your iPhone when connected via USB in PTP (Picture Transfer Protocol) mode. This method uses PowerShell, a tool already installed on your PC. You are able to export photos from iPhone to PC wirelessly.
Here is how it works, step by step to export photos from iPhone to PC wirelessly.
Step 1: Prepare Your iPhone
Connect your iPhone to your PC using a USB cable
Unlock your iPhone
Tap "Trust This Computer" and enter your passcode
Ensure your iPhone is unlocked for the entire process—Windows cannot access photos on a locked device
Step 2: Switch iPhone to "Keep Originals" Transfer Mode
This step ensures your photos transfer in their original format and are accessible via automation.
On your iPhone, go to Settings > Photos > Transfer to Mac or PC
Select "Keep Originals" (not "Automatic")
Step 3: Run the PowerShell Script
You will run a PowerShell script that uses WIA to list and download photos directly from your iPhone.
1. Press Windows + X and select Windows PowerShell (Admin) or Terminal (Admin)
2. Copy and paste the following script into the PowerShell window and press Enter:
powershell
# Load WIA COM object
$wia = New-Object -ComObject WIA.CommonDialog
# Show device selection dialog (your iPhone should appear as a camera device)
$device = $wia.ShowSelectDevice(0, $true)
if ($device) {
# Create a folder on your desktop to save the photos
$exportPath = [Environment]::GetFolderPath("Desktop") + "\iPhone_Export_" + (Get-Date -Format "yyyyMMdd_HHmmss")
New-Item -ItemType Directory -Path $exportPath -Force | Out-Null
Write-Host "Exporting photos to: $exportPath" -ForegroundColor Green
# Transfer all items from the device
$items = $device.Items
$total = $items.Count
$count = 0
foreach ($item in $items) {
$count++
Write-Progress -Activity "Exporting Photos" -Status "$count of $total" -PercentComplete (($count / $total) * 100)
# Generate filename
$filename = $item.File.Name
if (-not $filename) { $filename = "IMG_$count.jpg" }
$filePath = Join-Path $exportPath $filename
$item.Transfer($filePath) | Out-Null
}
Write-Host "Export complete! $total photos saved to: $exportPath" -ForegroundColor Green
} else {
Write-Host "No device selected. Make sure your iPhone is connected and unlocked." -ForegroundColor Red
}
Step 4: Wait for the Transfer
The script will open a dialog box where you select your iPhone as the source device
PowerShell will show a progress bar as photos transfer to a new folder on your desktop