Link to home
Start Free TrialLog in
Avatar of murrayhome
murrayhome

asked on

CMD not running a batch file when I double-click the .bat file

Normally, double-clicking a .bat file's icon (or a shortcut to the same) should open a command processor window and run that batch file there.  Now the command processor window opens, but the batch file does not run.  (But the batch file does run either after I type its name at the command line in the window, or if, instead, from the Start Menu I use Run and in the "Open:" input box type:

  cmd /c path_to_bat_file\batch_filename.bat

How can I reassociate batch files with the default Window API action?

I tried the standard approacyh of going to Tools > Folder Options File Types and associating .bat files with type MS-DOS Batch File and specifying that .bat files should be opened with Windows Command Processor.  But that does not correct the problem.

I also checked the Registry.  In HKEY_CLASSES_ROOT, the entry for .bat gives under key PersistentHandler a CLSID that has under its own key PersistentAddinsRequired a subkey that points to a CLSID whose subkey InProcServer has two subkeys:  (Default) with value query.dll and ThreadingModel with value Both.

Note that this behavior appeared after I installed JP Software's 4NT command processor and opted to make it the default processor for command prompt windows.  However, I have since uninstalled 4NT.
Avatar of murrayhome
murrayhome

ASKER

Some additional information:   I re-installed 4NT, but still, clicking a .bat file's icon (or shortcut to
the same) does NOT run it -- it just opens a 4NT command window.

Currently, with 4NT re-installed, the same PersistentHandler chain of
references in the Registry persists. Currently, the value in HKLM for
batfile > shell > open > command is:

"D:\Utilities\JPSoft\4NT7\4nt.exe" /c "%1" %*

This really has me puzzled.  The /c part of the registry key is, I thought, what makes the command processor run the command that follows it.
Avatar of sramesh2k
Hi Murrayhome,

The default .BAT file association fix is available here.

http://www.dougknox.com/xp/file_assoc.htm
Unfortunately restoring the default .BAT file association like that (even after un-installing 4NT again, and rebooting) does NOT fix the problem.  Still when I double-click a .bat file, all that happens is that a command prompt window opens up with the command prompt showing the path to the .bat file I tried to run.  But the .bat file has NOT run!
Can you post the .BAT file association info. The "FileExtInfo" utility can gather all the info to a file.

FileExtInfo - View the association settings for a file type easily:
http://windowsxp.mvps.org/fileextinfo.htm
Here is the info:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FileExtInfo v1.0 - Log file
7/16/2006 11:14:17 AM

Complete File association information for  ---> .BAT
Useful for troubleshooting File association and other problems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


[HKEY_CLASSES_ROOT\.BAT]
@="batfile"
"ZAMailSafeExt"="zl3"

[HKEY_CLASSES_ROOT\.BAT\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"


[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
"EditFlags"=hex:30,04,00,00

[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
  65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,35,\
  00,33,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell]

[HKEY_CLASSES_ROOT\batfile\shell\edit]

[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
  00

[HKEY_CLASSES_ROOT\batfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\batfile\shell\print]

[HKEY_CLASSES_ROOT\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
  00,25,00,31,00,00,00

[HKEY_CLASSES_ROOT\batfile\shellex]

[HKEY_CLASSES_ROOT\batfile\shellex\ContextMenuHandler]

[HKEY_CLASSES_ROOT\batfile\shellex\ContextMenuHandler\CleanSweep]
@="{BA995680-DDEE-11CF-9E05-444553540000}"

[HKEY_CLASSES_ROOT\batfile\shellex\ContextMenuHandlers]
@=""

[HKEY_CLASSES_ROOT\batfile\shellex\ContextMenuHandlers\CleanSweep]
@="{BA995681-DDEE-11cf-9E05-444553540000}"

[HKEY_CLASSES_ROOT\batfile\shellex\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\batfile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\batfile\shellex\PropertySheetHandlers\PifProps]
@="{86F19A00-42A0-1069-A2E9-08002B30309D}"

[HKEY_CLASSES_ROOT\batfile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT]
"Application"="cmd.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\OpenWithList]
"a"="4nt.exe"
"MRUList"="ba"
"b"="cmd.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\OpenWithProgids]
"batfile"=hex(0):

ASKER CERTIFIED SOLUTION
Avatar of sramesh2k
sramesh2k
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial