Command Line Options for DS4Windows
Ever wished your PC could treat your steering wheel or custom arcade stick like a real Xbox or PlayStation controller? The ViGEmBus driver makes that happen—no hardware needed. It fools your system into recognizing virtual gamepads, offering seamless support across many popular titles.
What Are DS4Windows Command Line Options?
Command line options are text-based instructions you run from the Windows Command Prompt. Instead of opening the DS4Windows interface, you can control it by typing simple commands. These commands let you connect or disconnect controllers, load profiles, or manage drivers directly.
This method is ideal for:
- Advanced users who use scripts
- Gamers who need quick actions
- Troubleshooting when the UI doesn’t load or respond
Let’s break down the most useful commands step by step.
1. Basic Control Commands
These core commands let you control DS4Windows quickly:
DS4Windows.exe -command start
→ Connects controllers that DS4Windows already recognizes.
(Note: DS4Windows must be running first.)DS4Windows.exe -command stop
→ Disconnects the controllers but keeps the app running in the background.DS4Windows.exe -command cycle
→ Toggles connection states (connect → disconnect → connect again).DS4Windows.exe -command shutdown
→ Fully shuts down DS4Windows and disconnects all controllers.
These commands are helpful when you’re using batch files or shortcuts to control devices instantly.
2. Loading Controller Profiles
DS4Windows lets you apply different controller profiles using command lines. This is helpful when you want specific settings for different games or play styles.
LoadProfile:
Makes a profile default.
Example:DS4Windows.exe -command LoadProfile.1.Racing
→ Loads the “Racing” profile permanently for controller 1.LoadTempProfile:
Loads a profile temporarily, only for the current session.
Example:DS4Windows.exe -command LoadTempProfile.1.FPSGame
→ Activates the “FPSGame” profile for controller 1 until DS4Windows restarts.
This flexibility allows easy switching between genres like racing, shooters, or RPGs without manually going into settings.
3. Managing Output Slots
Virtual controllers are assigned to output slots. You can control which type (DualShock 4 or Xbox 360) appears in each slot.
OutputSlot.X.Unplug
→ Removes a virtual controller from slot X.
Example:DS4Windows.exe -command OutputSlot.1.UnplugOutputSlot.X.PlugDS4
→ Adds a virtual DualShock 4 controller to slot X.OutputSlot.X.PlugX360
→ Adds a virtual Xbox 360 controller to slot X.
These options are perfect when a game only supports Xbox controllers, or if you want a custom setup for multiple players.
4. Disconnecting Controllers
You can remove controllers from DS4Windows with simple commands:
Disconnect
→ Disconnects all connected controllers.Disconnect.X
→ Disconnects one controller.
Example:DS4Windows.exe -command Disconnect.1
→ Removes the first controller only.
This is useful if a single controller is acting up or if you want to reset connections for one user.
5. Querying Controller Information
DS4Windows can check live status information using Query commands. You can even save this data to a text file:
- Example:
DS4Windows.exe -command Query.1.ProfileName > myprofile.txt
→ Saves the active profile name of controller 1 into a file.
Supported query properties include:
| Property | Description |
|---|---|
ProfileName | Shows current profile name |
Battery | Displays battery level (percentage) |
Charging | Returns if the controller is charging |
ConnType | Shows connection type (USB or Bluetooth) |
MacAddress | Lists MAC address of the controller |
OutputSlotType | Identifies the type of virtual controller |
These are essential when testing setups or logging data for support.
6. Driver Installation and Troubleshooting
DS4Windows uses ViGem drivers to emulate Xbox controllers. If those drivers aren’t installed or become disabled, commands can fix it.
DS4Windows.exe -driverinstall
→ Opens the driver installation prompt.DS4Windows.exe -re-enabledevice
→ Reactivates a disabled controller, especially helpful after exclusive mode crashes.
Both commands prevent common errors and are required when setting up DS4Windows for the first time.
What Are DS4Windows Command Line Options?
Command line options are text-based instructions you run from the Windows Command Prompt. Instead of opening the DS4Windows interface, you can control it by typing simple commands. These commands let you connect or disconnect controllers, load profiles, or manage drivers directly.
This method is ideal for:
- Advanced users who use scripts
- Gamers who need quick actions
- Troubleshooting when the UI doesn’t load or respond
Let’s break down the most useful commands step by step.
1. Basic Control Commands
These core commands let you control DS4Windows quickly:
DS4Windows.exe -command start
→ Connects controllers that DS4Windows already recognizes.
(Note: DS4Windows must be running first.)DS4Windows.exe -command stop
→ Disconnects the controllers but keeps the app running in the background.DS4Windows.exe -command cycle
→ Toggles connection states (connect → disconnect → connect again).DS4Windows.exe -command shutdown
→ Fully shuts down DS4Windows and disconnects all controllers.
These commands are helpful when you’re using batch files or shortcuts to control devices instantly.
2. Loading Controller Profiles
DS4Windows lets you apply different controller profiles using command lines. This is helpful when you want specific settings for different games or play styles.
LoadProfile:
Makes a profile default.
Example:DS4Windows.exe -command LoadProfile.1.Racing
→ Loads the “Racing” profile permanently for controller 1.LoadTempProfile:
Loads a profile temporarily, only for the current session.
Example:DS4Windows.exe -command LoadTempProfile.1.FPSGame
→ Activates the “FPSGame” profile for controller 1 until DS4Windows restarts.
This flexibility allows easy switching between genres like racing, shooters, or RPGs without manually going into settings.
3. Managing Output Slots
Virtual controllers are assigned to output slots. You can control which type (DualShock 4 or Xbox 360) appears in each slot.
OutputSlot.X.Unplug
→ Removes a virtual controller from slot X.
Example:DS4Windows.exe -command OutputSlot.1.UnplugOutputSlot.X.PlugDS4
→ Adds a virtual DualShock 4 controller to slot X.OutputSlot.X.PlugX360
→ Adds a virtual Xbox 360 controller to slot X.
These options are perfect when a game only supports Xbox controllers, or if you want a custom setup for multiple players.
4. Disconnecting Controllers
You can remove controllers from DS4Windows with simple commands:
Disconnect
→ Disconnects all connected controllers.Disconnect.X
→ Disconnects one controller.
Example:DS4Windows.exe -command Disconnect.1
→ Removes the first controller only.
This is useful if a single controller is acting up or if you want to reset connections for one user.
5. Querying Controller Information
DS4Windows can check live status information using Query commands. You can even save this data to a text file:
- Example:
DS4Windows.exe -command Query.1.ProfileName > myprofile.txt
→ Saves the active profile name of controller 1 into a file.
Supported query properties include:
| Property | Description |
|---|---|
ProfileName | Shows current profile name |
Battery | Displays battery level (percentage) |
Charging | Returns if the controller is charging |
ConnType | Shows connection type (USB or Bluetooth) |
MacAddress | Lists MAC address of the controller |
OutputSlotType | Identifies the type of virtual controller |
These are essential when testing setups or logging data for support.
6. Driver Installation and Troubleshooting
DS4Windows uses ViGem drivers to emulate Xbox controllers. If those drivers aren’t installed or become disabled, commands can fix it.
DS4Windows.exe -driverinstall
→ Opens the driver installation prompt.DS4Windows.exe -re-enabledevice
→ Reactivates a disabled controller, especially helpful after exclusive mode crashes.
Both commands prevent common errors and are required when setting up DS4Windows for the first time.
7. Using the DS4WindowsCmd Tool (Optional)
The optional DS4WindowsCmd.exe tool is built for scripts. Unlike DS4Windows.exe, it directly returns output, making it easier for automation.
You can download this tool from the official DS4Windows GitHub.
Example Batch Script:
@echo off
for /f "tokens=*" %%i in ('DS4WindowsCmd.exe -command Query.1.ProfileName') do set PROFILE=%%i
for /f "tokens=*" %%i in ('DS4WindowsCmd.exe -command Query.1.ConnType') do set CONNECTION=%%i
DS4WindowsCmd.exe -command Query.1.Battery
set BATTERY=%errorlevel%
if "%BATTERY%" == "1000" echo Could not read battery level. Check DS4Windows.
echo Your profile: %PROFILE%, Connection: %CONNECTION%, Battery Level: %BATTERY%
This script pulls profile name, connection type, and battery level, then displays them all in the Command Prompt.
Conclusion
DS4Windows command line options give you fast, reliable control over your gamepad setup—no clicks required. Whether you’re launching a custom profile, fixing a connection issue, or writing a gaming script, these commands cut time and reduce effort.
