How to Open a Control Panel Applet in a Batch Script
A common task for a utility or troubleshooting script is to open a specific Control Panel window for the user. Instead of providing complex written instructions ("Click Start, then type Control Panel, then find System..."), your script can open the exact window they need with a single, simple command. This is perfect for creating tool menus or scripts that guide a user through a configuration change.
This guide will teach you how to use the built-in control.exe command to open any Control Panel applet. You will learn the two primary methods for targeting an applet, using its .cpl filename and its more modern "canonical name", and see a list of the most useful applets you can launch.
The Core Command: control.exe
The control.exe executable is the program that runs the Control Panel. When called from a script, you can pass it an argument that tells it which specific applet (or page) to open directly.
Syntax: control <Argument>
The Argument can be the name of a .cpl file or a special canonical name.
Method 1 (Recommended): Using Canonical Names
Canonical names are the modern, official way to reference Control Panel items. They are language-independent and more descriptive than the old .cpl filenames.
Syntax: control /name <CanonicalName>
For example, this command directly opens the "Programs and Features" window where users can uninstall applications.
@ECHO OFF
ECHO Opening Programs and Features...
control /name Microsoft.ProgramsAndFeatures
This is the most robust and recommended method for modern scripts.
Method 2 (Legacy): Using .cpl Filenames
The classic method is to call control.exe with the name of the .cpl file that corresponds to the applet you want to open. These files are typically located in C:\Windows\System32.
Syntax: control <filename.cpl>
For example, this command also opens "Programs and Features" by calling its underlying file, appwiz.cpl.
@ECHO OFF
ECHO Opening Programs and Features...
control appwiz.cpl
A "Cheat Sheet" of Common Control Panel Applets
Here is a list of the most common applets and the commands to open them.
| Applet | Canonical Name Command | .cpl File Command |
|---|---|---|
| Programs and Features | control /name Microsoft.ProgramsAndFeatures | control appwiz.cpl |
| System Properties | control /name Microsoft.System | control sysdm.cpl |
| Network Connections | (No direct canonical name) | control ncpa.cpl |
| Date and Time | control /name Microsoft.DateAndTime | control timedate.cpl |
| Power Options | control /name Microsoft.PowerOptions | control powercfg.cpl |
| Sound | control /name Microsoft.Sound | control mmsys.cpl |
| Devices and Printers | control /name Microsoft.DevicesAndPrinters | control printers |
| Internet Properties | control /name Microsoft.InternetOptions | control inetcpl.cpl |
The Modern Challenge: The Windows 10/11 "Settings" App
On modern versions of Windows 10 and 11, Microsoft has been moving many settings from the classic Control Panel to the new "Settings" app. To open a page in the Settings app, you use the START command with a special URI (Uniform Resource Identifier).
Syntax: start ms-settings:<PageName>
For example, this command opens the "Apps & features" page in the modern Settings app.
START ms-settings:appsfeatures
To open the main "Windows Update" page:
START ms-settings:windowsupdate
This is the correct method for accessing settings that have been migrated to the new interface.
Common Pitfalls and How to Solve Them
-
Administrator Rights: In general, opening a Control Panel applet does not require administrator rights. However, the user will be prompted for UAC elevation if they try to change a system-wide setting from within that applet (e.g., changing the system time or uninstalling certain programs).
-
Finding the Right Name: It can be tricky to find the correct canonical name or
.cplfile for a specific setting. Solution: Referencing a cheat sheet like the one above is the easiest way. For a complete list, you can search for "Canonical Names for Control Panel Items" on the Microsoft documentation site. -
Deprecated Applets: As Windows evolves, some Control Panel applets are removed or fully replaced by a new Settings page. Solution: Always test your script on your target Windows version. If
control ...doesn't work, look for the equivalentms-settings:command.
Practical Example: A System Troubleshooting Menu
This script provides a user with a simple menu to access the most common troubleshooting tools and settings pages.
@ECHO OFF
:Menu
CLS
ECHO ===============================
ECHO SYSTEM TROUBLESHOOTING
ECHO ===============================
ECHO 1. Uninstall a Program (Programs and Features)
ECHO 2. View Network Connections
ECHO 3. Check Windows Update (Settings App)
ECHO 4. Exit
ECHO.
CHOICE /C 1234 /N /M "Select an option [1-4]: "
IF ERRORLEVEL 4 GOTO :EOF
IF ERRORLEVEL 3 GOTO :OpenUpdate
IF ERRORLEVEL 2 GOTO :OpenNet
IF ERRORLEVEL 1 GOTO :OpenApps
:OpenApps
ECHO Opening Programs and Features...
control appwiz.cpl
GOTO :Menu
:OpenNet
ECHO Opening Network Connections...
control ncpa.cpl
GOTO :Menu
:OpenUpdate
ECHO Opening Windows Update settings...
start ms-settings:windowsupdate
GOTO :Menu
Conclusion
The control.exe command is the standard and most direct way to open classic Control Panel applets from a batch script.
- The modern and recommended method is to use canonical names:
control /name Microsoft.ProgramsAndFeatures. - The legacy method of using
.cplfilenames (control appwiz.cpl) is also highly reliable. - For settings that have moved to the new interface in Windows 10/11, you must use the
start ms-settings:...command.
By using these commands, you can create helpful utility scripts that guide users directly to the system settings they need to access.