53

It used to be in Windows XP that I could make Warcraft III files load automatically into the game by double clicking on them. This association was made by going to file associations ADVANCED area and using this line:

"C:\Program Files\Warcraft III\War3.exe" -loadfile "%1"

Note that it takes an argument and an option.

However, in Windows 7, the "Default Programs" > "Set Associations" area doesn't seem to have this advanced area.

Can I still get these files to open automatically?

4 Answers 4

39

I'd recommend Default Programs Editor, which can do this and more.

It has full context menu editing, which would allow you to change the command parameters. Plus, it was designed for Vista/7 with UAC support.

Default Programs Editor Context Menu Editing

Default Programs Editor command details

5
  • 5
    a little more clicking, but I actually like this better than my answer +1!
    – Jay Wick
    Feb 17, 2013 at 8:41
  • 1
    It worked for me, and it is portable! Jul 30, 2015 at 12:06
  • The images in answer doesn't open!
    – zar
    Mar 14, 2017 at 21:00
  • Note that this program is freeware but mostly closed source (I was not able to find any kind of license on the website and there's no "about" box), the author mentions that it might be steadily released as open source over time. The portions of the code that have been released publicly are released under the BSD license, it's unclear if the rest of the application is under that license as well, but I'd guess that's the case. Also the last activity on his repos was 7/9/2016.
    – jrh
    Jul 5, 2018 at 17:13
  • Unfortunately, it seems that on Windows 10, OS updates may undo everything this utility does.
    – jrh
    Jul 23, 2018 at 20:49
23

It's probably because I had to much caffeine but.. In command prompt:

 ftype w3file="C:\Program Files\Warcraft III\War3.exe" -loadfile "%1"
 assoc .your_extension=w3file
 regsvr32 /i shell32.dll

:) .. just change the names of the type and extension to the one you need :)

5
  • 11
    It's worth checking in HKEY_CURRENT_USER\Software\Classes too because user set associations override those set using ftype and assoc :-( SO ANNOYED with Micro$oft for removing the GUI for this. There are some REALLY common file extensions which require parameters. Java JAR files for example.
    – mjaggard
    Jul 26, 2012 at 13:18
  • You can also look at HKEY_CLASSES_ROOT\SystemFileAssociations\.<extension>\shell\<program>\command which is where I found the commands were stored when I did a find in the registry. Nov 27, 2015 at 15:56
  • I also had to remove HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.<extension> to get the ftype to work
    – Carl Walsh
    Jul 18, 2017 at 20:14
  • Can you add some more information on this especially around what the regsvr32 command does?
    – busfault
    Aug 2, 2017 at 15:05
  • regsvr32 is used for registering and unregistering dll libraries, /i parameter means 'install' and shell32.dll contains Windows Shell API functions that are used while opening files and URLs. In short, we are setting the new association and then re-registering the library responsible for opening files so it takes into account our new associations.
    – kyrisu
    Aug 4, 2017 at 17:15
16

What you are looking for is File Type Doctor from Creative Element Power Tools.

You get everything back that they, for some reason, removed from Windows Vista onwards.

File Type Doctor preview

Update: for a more modern and simpler solution check out Factor Mystic's answer!

3
  • Oh my, that software looks like it would be extremely useful! +1
    – afrazier
    Apr 29, 2010 at 23:08
  • Creative Element seem to have some cool tools. Thanks for the link :)
    – kyrisu
    Apr 29, 2010 at 23:22
  • 1
    Just note that this is Shareware. Check @Factor Mystic's Answer for a free program.
    – yakatz
    Apr 26, 2012 at 18:25
-1

From what I can tell there is no 'easy' way to set file associations in windows. It has always been a pain because you have system level associations and user level associations for EVERY USER on the system... anyway lets stop Windows Media Player for GOOD.

Sick of Windows Media Player always popping up when you click any media? Maybe you have more than one login or app that constantly tries to take over your file associations? Use this script to set them right!

Run as administrator to reset Windows Media Player extensions it hijacks:

These include: .MMS,.WTV,.3G2,.3GP,.ADTS,.AIFF,.ASF,.ASX,.AU,.AVI,.CDA,.M2TS,.m3u,.M4A,.MIDI,.mov,.mp3,.mp4,.MPEG,.TTS,.WAV,.WAX,.wma,.WMD,.WMS,.WMV,.WMZ,.WPL,.WVX

Example of command line I use to set file associations:

Source code to the binary that is just a 7-zip SFX Self Extracting zip with a Windows Batch file in it :

https://rmccurdy.com/.scripts/ ftype_wipe.bat.txt

            @echo off
            echo ------------------------------------------------
            echo * THIS MUST BE RUN AS SYSTEM ( you need administrator)
            echo * example :   psexec -c -i -s ftype_wipe.bat ) 
            echo * be VERY carful when editing/adding extensions
            echo * a backup of the registry is performed just in case too
            echo ------------------------------------------------
            echo This will wipe all users and reg keys for Windows Media Player because ... when has windows media player ever played anything but windows media ...stop jacking what you cant play!
            echo ------------------------------------------------
            echo This is and example command line I use to set VLC as my player for .MOV files
            echo assoc .mov=mov
            echo ftype mov=%CD%\media\VLCPortable\VLCPortable.exe "%%1"
            echo ------------------------------------------------
            echo "rmccurdy.com"

            pause


            echo Backing up registry to %SystemRoot%\temp\

            REG EXPORT HKCR %SystemRoot%\temp\HKCR_%date:~-4,4%%date:~-7,2%%date:~-10,2%.reg
            REG EXPORT HKU  %SystemRoot%\temp\c:\HKU_%date:~-4,4%%date:~-7,2%%date:~-10,2%.reg


            for   %%j IN (.MMS,.WTV,.3G2,.3GP,.ADTS,.AIFF,.ASF,.ASX,.AU,.AVI,.CDA,.M2TS,.m3u,.M4A,.MIDI,.mov,.mp3,.mp4,.MPEG,.TTS,.WAV,.WAX,.wma,.WMD,.WMS,.WMV,.WMZ,.WPL,.WVX) do (

            for /f  %%i IN ('wmic path win32_useraccount where "name like '%%'" get sid') do (
            echo wiping %%i %%j 
            reg delete "HKCR\%%j" /f 2> %temp%\null
            reg delete "HKU\%%i\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\%%j" /f 2> %temp%\null
            reg delete "HKU\%%i\%%j" /f 2> %temp%\null
            )

            )

*edit because I got a -1 vote ...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .