如何以编程方式删除以前的扩展程序< – >程序关联?

我想写一个batch file,确保当用户点击一个.JNLP文件,它打开使用javaws.exe(位于程序文件/ java / …你知道演练)

我写了下面的batch file:

ASSOC .jnlp=JNLPFILE IF EXIST "%ProgramFiles% (x86)" (GOTO x86) ELSE (GOTO x64) :x86 FTYPE JNLPFILE="%ProgramFiles% (x86)Javajre7binjavaws.exe" "%1" goto:eof :x64 FTYPE JNLPFILE="%ProgramFiles%Javajre7binjavaws.exe" "%1"

我在Windows 7 64位testing这一切。

这…不起作用。 那么,这不完全准确。 它正确地修改registry,并且将.jnlp添加到要运行的推荐程序的Windows列表中。 它确实是应该的。

echo从文本文件读取时不会评估variables

如何使用当前名称提取的子string重命名Windows文件

根据分批使用分辨率重命名我的video文件

以相反的顺序在目录中循环文件

hibernate在Win7 with.bat文件。 如何inputy为冬眠,n为非冬眠?

但是这并没有解决我的问题。 看,为了testing,我用记事本去了认程序和关联的.jnlp文件。 当我尝试打开.Jnlp文件时,即使在我的代码运行后,IT也会尝试在记事本中打开。

如果我打开一个.jnlp,它使我可以select打开记事本或javaws.exe如果我已经与ASSOC运行我的代码,它添加了第二个选项javaws.exe

我试过ASSOC .jnlp =“”和FTYPE JNLPFILE =“”试图清除记事本,但没有运气。

如何使我的batch file吹掉之前的设置并在机器上占据主导地位?

编辑:使用下面的答案,我已经添加一个命令到我的batch file的开始,这应该照顾我的问题,使事情正常工作。

REG DELETE HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionExplorerFileExts.jnlp /f

batch file是不必要的加倍字符字符

尝试编写batch file以pipe理员身份打开程序

如何比较批处理脚本中的Windows版本?

我的CMD批处理脚本不起作用(此时0意外。)

从命令行而不是Windows资源pipe理器命名networking驱动器

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

HKEY_CURRENT_USERSoftwareMicrosoftwindowsCurrentVersionExplorerFileExts

要从此列表中删除程序,请从中删除程序条目

HKCU 软件微软的Windows CurrentVersion Explorer中 FileExts 。JNLP OpenWithList

HKCU 软件微软的Windows CurrentVersion Explorer中 FileExts 的.jnlp OpenWithProgIDs

并在中设置所需的UserChoice Progid

HKCU 软件微软的Windows CurrentVersion Explorer中 FileExts 的.jnlp UserChoice

另外请注意,OpenWithList和OpenWithProgids可以设置为多个级别。

HKCU 软件微软的Windows CurrentVersion Explorer中 FileExts 名为.xyz OpenWithList

HKCU 软件微软的Windows CurrentVersion Explorer中 FileExts 名为.xyz OpenWithProgIDs

HKCR 名为.xyz OpenWithList

HKCR 名为.xyz OpenWithProgIDs

HKCR SystemFileAssociations 文件类型 OpenWithList

相关文章

可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持S...
为进一步规范小程序交易生态、提升用户购物体验、满足用户在...
云原生之使用Docker部署Dashdot服务器仪表盘
本文主要描述TensorFlow之回归模型的基本原理
1.漏洞描述Apache Druid 是一个集时间序列数据库、数据仓库和...
内部类(当作类中的一个普通成员变量,只不过此成员变量是cl...