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.Unplug
  • OutputSlot.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:

PropertyDescription
ProfileNameShows current profile name
BatteryDisplays battery level (percentage)
ChargingReturns if the controller is charging
ConnTypeShows connection type (USB or Bluetooth)
MacAddressLists MAC address of the controller
OutputSlotTypeIdentifies 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.Unplug
  • OutputSlot.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:

PropertyDescription
ProfileNameShows current profile name
BatteryDisplays battery level (percentage)
ChargingReturns if the controller is charging
ConnTypeShows connection type (USB or Bluetooth)
MacAddressLists MAC address of the controller
OutputSlotTypeIdentifies 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.