Install WP-CLI on Windows and Run Basic WordPress Commands
WP-CLI lets you manage WordPress from the command line. On Windows, it is useful for checking a site, listing posts, reviewing plugins, importing media, and running small maintenance helpers without opening the browser for every task.
What It Does
- Installs the WP-CLI Phar file in a reusable Windows folder.
- Adds a small
wp.batwrapper so thewpcommand works from PowerShell. - Shows how to point WP-CLI at a WordPress install with
--path. - Gives basic examples for posts, plugins, themes, categories, media imports, and helper scripts.
Requirements
WP-CLI needs PHP available from the command line. Before installing WP-CLI, confirm that PowerShell can find PHP:
php -v
If that command is not recognized, install PHP or add the existing PHP folder to the Windows Path environment variable first.
Download WP-CLI
Create a folder for WP-CLI and download the Phar file:
New-Item -ItemType Directory -Path C:\wp-cli -Force Invoke-WebRequest -Uri https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -OutFile C:\wp-cli\wp-cli.phar
Test the Phar directly with PHP:
php C:\wp-cli\wp-cli.phar --info
Add the wp Command
Create a small batch wrapper named wp.bat:
Set-Content -Path C:\wp-cli\wp.bat -Value '@php "%~dp0wp-cli.phar" %*'
Add C:\wp-cli to the Windows Path environment variable, then open a new PowerShell window and test:
wp --info
Point WP-CLI at a WordPress Site
When the terminal is not inside the WordPress folder, use --path with the WordPress install path:
wp --path="C:\inetpub\sites\example.com" core version
The --path value should point to the folder that contains wp-config.php, wp-admin, wp-content, and wp-includes.
Basic WP-CLI Examples
List posts:
wp --path="C:\inetpub\sites\example.com" post list --post_type=post --fields=ID,post_title,post_status,post_date
List plugins:
wp --path="C:\inetpub\sites\example.com" plugin list
List themes:
wp --path="C:\inetpub\sites\example.com" theme list
List categories:
wp --path="C:\inetpub\sites\example.com" term list category --fields=term_id,name,slug,count
Import an image into the Media Library:
wp --path="C:\inetpub\sites\example.com" media import .\assets\example-screenshot.png --title="Example screenshot"
Run a PHP helper script:
wp --path="C:\inetpub\sites\example.com" eval-file .\path\to\helper.php
Common Path Mistake
The folder where you keep helper scripts is not always the WordPress install. For example, a source repository can be in C:\DevOps\DEV-Site, while WordPress is installed in C:\inetpub\sites\example.com.
In that case, run WP-CLI from the source repository but point --path at WordPress:
Set-Location C:\DevOps\DEV-Site wp --path="C:\inetpub\sites\example.com" eval-file .\.codex\scripts\sync-posts-from-posts.php
That pattern lets WP-CLI load WordPress correctly while still running a helper script stored outside the WordPress folder.