How to change a Windows theme from the command prompt

Many people, including my friends, often ask me how to change a Windows theme from the command prompt without opening the Explorer window. They want to apply the custom theme they have installed from the command line. Unfortunately, Windows does not provide any native or user-friendly way to change the current theme and apply *.theme file silently. Today, I would like to provide you with an easy-to-use solution - our brand new release: Winaero Theme Switcher.Winaero Theme Switcher

Winaero Theme Switcher is a lightweight portable tool available for Windows 7 and Windows 8. It has a GUI, but it is primarily intended to be used with the command prompt or in a batch file where you want to automate the applying of a custom theme.

Winaero Theme Switcher operates with the built-in Theme Manager of Windows 7/Windows 8 and uses it to apply themes.

How to use

The syntax is as follows:

ThemeSwitcher.exe path_to_file.theme

For example, in Windows 8 it can be:

themeswitcher.exe c:\Windows\Resources\Themes\theme1.theme

To make the Winaero Theme Switcher app more friendly, I have implemented a "theme lookup" feature: If theme is located in one of the following folders:
C:\Windows\Resources\Themes
C:\Windows\Resources\Easy of Access Themes
C:\Users\<username>\AppData\Local\Microsoft\Windows\Themes

then you need not specify the full path to the theme file or even its extension, just specify the file name.

Examples:

themeswitcher.exe aero - this will apply c:\Windows\Resources\Themes\aero.theme
themeswitcher.exe "Rainbow Colors" - this will apply c:\Users\Sergey\AppData\Local\Microsoft\Windows\Themes\Rainbow Colors\Rainbow Colors.theme which I have installed manually from here.

In action:

Note that for themes you share with your friends or downloaded from elsewhere, they are in .themepack format. Themepacks need to be installed first by double clicking them. Thereafter, you can apply the theme.

Download Winaero Theme Switcher

 Let us know in the comments if you found Winaero's Theme Switcher useful.

Support us

Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:

If you like this article, please share it using the buttons below. It won't take a lot from you, but it will help us grow. Thanks for your support!

Author: Sergey Tkachenko

Sergey Tkachenko is a software developer who started Winaero back in 2011. On this blog, Sergey is writing about everything connected to Microsoft, Windows and popular software. Follow him on Telegram, Twitter, and YouTube.

37 thoughts on “How to change a Windows theme from the command prompt”

  1. This theme switcher tool is very handy. I use it in my unattended scripts so I can pre-apply theme.

  2. Hi, the tool itself is really handy, but it seems, that I have problem with icons. In theme I need to deploy, there is custom dll file with custom icons. Everything is Ok when I change the theme by clicking on it in Personalize panel or launching .theme file. However, when I use your tool, the icons are not changed :/

  3. Thanks, this helped me overcome group policy restrictions as I accidentally set the high contrast theme and could not get back the basic theme!

  4. Great app, it will do exactly what I need, if I can get by this one problem… It gives me an error when I try and use it from the cmd line, unless I open the app from the gui first. I can’t find any reason for this.

  5. Thank you folks.

    Love It.

    I ran it once under a live Windows 7 and it worked surprisingly well. (both quick and silent)

    It’s perfect for the system I’m running.

    All the very best to you.

  6. Great stuff! I have a set of themes with progressively darker colors and darker background images. By using this program I have created tasks for automatically changing the themes at different times during the day (07.00 “day theme”, 17.00 “evening theme, 21.00 “night theme”).

  7. Hi,
    its a nice tool and works with windows 7, but not, if I connect via remote connection (rdp) to client. is there a way to use it in rdp session?
    thanks a lot

    greetings
    frank

      1. So far so good, I’ve made a couple of themes that will be running in a loop.

        I read:
        “You are not allowed to redistribute our software without our permission.”

        In case I’d like to share my themes and loop executable: may I pack the Theme Switcher exe along with my bat file, zip or sfx, credits included?
        Thanks again!

  8. Nice tool! But my command promt says ThemeSwitcher.exe is not recognized as an internal or external command.
    How can i fix this?

  9. Very nice tool Sergey!
    I’m building a bat file that can change the themes automatically using your tool.
    Cheers!

  10. Thank you very much for that awesome tool!
    I use it to change my Wallpapers when i switch from Extended Mode to Eyefinity Mode with my Triplemonitor setup :)

  11. Hello,

    Im using it as a logon script in windows 2012r2 and users are getting below error:
    Theme Switcher has stop working.

    Problem signature:
    Problem Event Name: CLR20r3
    Problem Signature 01: ThemeSwitcher.exe
    Problem Signature 02: 1.0.0.1
    Problem Signature 03: 518a8c9f
    Problem Signature 04: mscorlib
    Problem Signature 05: 4.6.1085.0
    Problem Signature 06: 57a4fc2f
    Problem Signature 07: 157f
    Problem Signature 08: fd
    Problem Signature 09: System.IO.DirectoryNotFound
    OS Version: 6.3.9600.2.0.0.144.8
    Locale ID: 1033
    Additional Information 1: f64b
    Additional Information 2: f64b6b59ab6b882af0b9b9fa1b31e1e2
    Additional Information 3: 7863
    Additional Information 4: 7863d0ce5c4d1337e6e7b82cd97e3e70

    Read our privacy statement online:
    http://go.microsoft.com/fwlink/?linkid=280262

    If the online privacy statement is not available, please read our privacy statement offline:
    C:\windows\system32\en-US\erofflps.txt

    Any advise ?

    Thanks.

    1. I should update the app to avoid these errors. I will do asap.
      It is not your problem but mine.
      I will release a new version, I will try to do it right now.

  12. Hey, nice tool.

    I’m trying to set up my pc so that it randomizes the theme each time I log on.
    However, when I use your tool in the command prompt, it only changes the main selection cursor, or it leaves that one unchanged, but changes all the rest of the cursors.

    Is this a common problem? Am I doing anything wrong? For now I’m simply typing it into command prompt as show above: “themeswitcher.exe start”

    My theme switcher win 8 app is in my user file and I have a Windows 10 PC.

    The custom themes are saved the default method the pc saves them with when I open a themepack.

    Thanks

  13. Hey! Thank you for this tool. Can you add no error command too? For example if it can’t find the theme won’t give an error. Like this:

    themeswitcher.exe theme1.theme /noerr

    I’m using the tool in some bat codes and this is an option for user to change theme or not, if there is theme file then it wont show any window.

  14. I use this line in a batch file:

    If the username includes a space, and try this call:

    ThemeSwitcher “%USERNAME%”

    it fails. only the part of the account name before the first space is used.

    This DOES work:

    ThemeSwitcher “%LOCALAPPDATA%\Microsoft\Windows\Themes\%USERNAME%.theme”

    it works but it creates a new .theme file named, “Custom.theme” with DisplayName=Unsaved Theme
    and a new ThemeId.

    Is there something I should do so the target theme is used and a new Custom.theme is NOT created?

    Also, is there an errorcode returned fi themeswitcher fails? I’d like to use this in the batch file:

    ThemeSwitcher “%LOCALAPPDATA%\Microsoft\Windows\Themes\%USERNAME%.theme”
    if errorlevel 1 ThemeSwitcher “%windir%\Resources\Themes\$OEM$.theme”
    if errorlevel 1 ThemeSwitcher “%windir%\Resources\Themes\aero.theme”

    Would you help me make these work?

    1. Hi
      I can make it return a errorlevel code.
      I need to look why ThemeSwitcher “%USERNAME%” fails. I think it was not designed to expand the environment string in this mode.
      Unfortunately, I cannot prevent the OS from creating Custom.theme.

  15. Hello Everyone,
    I have been experimenting about changing the windows theme via command line and I learned that by executing the theme file it is being applied by the Windows 10. So in your batch file you could use one of the following:
    a) C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Themes\Dark_Mode.theme
    b) C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Themes\Light_Mode.theme
    Please note the path to the theme files might be needed to adjust depending on your system user configuration. I strongly advise saving your themes with names excluding spaces as it makes much easier moving forward. Executing such line leaving you with the Settings window opened.
    To deal with it you could use following VBS script instead:
    Option Explicit
    Dim objArgs
    Dim objWshShell
    Dim line
    Dim wait
    Set objArgs = Wscript.Arguments
    wait = objArgs(0)
    line = objArgs(1)
    set objWshShell = WScript.CreateObject(“WScript.Shell”)
    objWshShell.Run line
    WScript.Sleep wait
    objWshShell.SendKeys “%{F4}”
    Above script taking two parameters. First one is the time to wait before the window will be closed in miliseconds. Second one is the command line to execute. Save it in the file with the name exe-wc.vbs then prepare following batch file:
    @echo off
    cd C:\full-path-to-your-exe-wc.vbs-file
    if %1 == dark (
    REM ================== Go Dark ==================
    color 09
    echo.
    echo Applying DARK MODE
    echo Windows Theme …
    exe-wc.vbs 5000 C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Themes\Dark_Mode.theme
    echo DONE
    ) else (
    REM ============== Return to Light ==============
    color 30
    echo.
    echo Applying LIGHT MODE
    echo Windows Theme …
    exe-wc.vbs 5000 C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Themes\Light_Mode.theme
    echo DONE
    )
    REM ================== Goodbye ==================
    echo.
    echo Goodbye
    cls
    Please replace “full-path-to-your-exe-wc.vbs-file” with actual path to that file. Please note the path to the theme files might be needed to adjust depending on your system user configuration.
    Save above script with the name theme.bat somewhere in your drive.
    This batch file taking one parameter which needs to be either “dark” or any other “string”. Then you could prepare two shortcuts to this batch file each with one of the following in the box called “Target” on the “Shortcut” tab in its properties:
    a) C:\full-path-to-your-batch-file\theme.bat dark
    b) C:\full-path-to-your-batch-file\theme.bat light
    Please replace “full-path-to-your-batch-file” with actual path to that file.
    Here are links to the videos showing how this works:
    a) Going Dark – https://youtu.be/cBcDNhAmfyM
    b) Returning to the Lght – https://youtu.be/2kYJaJHubi4
    Please note my script in those videos also activating/deactivating the Stylish plug-in for chrome. I have omitted to explain how I accomplished that part as it is not a subject of this article.

  16. It’s working fine on the latest version of Windows 10.

    Just a quick question though, is there a “Switch” to bypass moving files to the Trash?

    I’ve put this on my GPO to set a corporate theme, but the custom theme is filling the Trash everything the script is runned. I’d like to be able to not delete it, or just delete without moving to trash.

Leave a Reply

Your email address will not be published.

Exit mobile version
Using Telegram? Subscribe to the blog channel!
Hello. Add your message here.