Windows 如何删除以前的扩展<-&燃气轮机;计划的附属关系?

Windows 如何删除以前的扩展<-&燃气轮机;计划的附属关系?,windows,batch-file,Windows,Batch File,我想编写一个批处理文件,确保当用户单击.JNLP文件时,它会使用javaws.exe打开(位于program files/java/…您知道这个演练) 我已经编写了以下批处理文件: ASSOC .jnlp=JNLPFILE IF EXIST "%ProgramFiles% (x86)" (GOTO x86) ELSE (GOTO x64) :x86 FTYPE JNLPFILE="%ProgramFiles% (x86)\Java\jre7\bin\javaws.exe" "%1" goto:e

我想编写一个批处理文件,确保当用户单击.JNLP文件时,它会使用javaws.exe打开(位于program files/java/…您知道这个演练)

我已经编写了以下批处理文件:

ASSOC .jnlp=JNLPFILE
IF EXIST "%ProgramFiles% (x86)" (GOTO x86) ELSE (GOTO x64)
:x86
FTYPE JNLPFILE="%ProgramFiles% (x86)\Java\jre7\bin\javaws.exe" "%1"
goto:eof
:x64
FTYPE JNLPFILE="%ProgramFiles%\Java\jre7\bin\javaws.exe" "%1"
我在Windows7 64位中测试这一切

这个。。。不起作用。嗯,这并不完全准确。它正确修改注册表,并将.jnlp添加到windows推荐运行的程序列表中。它做的正是它应该做的

但这并不能解决我的问题。请看,为了进行测试,我使用了默认程序和与记事本关联的.jnlp文件。当我尝试打开.Jnlp文件时,它会尝试在记事本中打开,即使在我的代码运行之后

如果我在.jnlp上使用打开,它会给我使用记事本或javaws.exe打开的选项如果我使用ASSOC运行代码,它会添加第二个选项javaws.exe

我尝试了ASSOC.jnlp=“”和FTYPE JNLPFILE=“”来清除记事本,但没有成功

如何使批处理文件摆脱先前的设置,并在机器上保持其主导地位

编辑:使用下面的答案,我在批处理文件的开头添加了一个命令,它可以解决我的问题并使事情正常工作

REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp /f

Windows资源管理器为用户保留自己的文件扩展名列表

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
要从此列表中删除程序,请从中删除程序条目

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\。‌​jnlp\OpenWithList
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithProgID
并在中设置所需的UserChoice Progid

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\UserChoice
另外,请注意,可以在多个级别设置OpenWithList和OpenWithProgID

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xyz\OpenWithList
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xyz\OpenWithProgIDs
  • HKCR\.xyz\OpenWithList
  • HKCR\.xyz\OpenWithProgID
  • HKCR\SystemFileAssociations\FileType\OpenWithList

您是否同时尝试了
assoc
ftype
assoc.jnlp=JNLPFILE
后跟
ftype JNLPFILE=“…\javaws.exe”“%1”
是的,这正是我尝试的,它确实添加了一个关联,但是还有另一个关联(记事本)我似乎无法删除。我可以通过
assoc.jnlp=
在windows 7:1中重新创建问题的步骤来删除文件的关联。转到开始->删除故障程序->将文件类型或协议与特定程序关联。2.查找.jnlp并选择Notepad作为默认程序。3.执行assoc.jnlp=4的操作。尝试打开一个.jnlp文件。它将用记事本打开,即使没有文件关联。这不是assoc和ftype的问题,而是windows资源管理器的问题。资源管理器,为“打开方式”功能保留自己的扩展列表。请参阅
HKEY\U CURRENT\U USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList