admin管理员组文章数量:1565359
2024年1月4日发(作者:)
【问题描述】
在某些应用场合中,我们需要按二进制打开某些文件(例如无后缀格式、.rar、.dat的文件)来修改文件内容(例如删除、增加文件开头的某几个字节,达到抹除、恢复文件的实际类型的目的)。
如果用Visual Studio想要按照“二进制”的方式打开某个文件(此处以.rar文件为例),过程通常如下(此处以VS2015为例):菜单栏——文件——打开——文件:
选择一个文件后(注意不要双击),点击下面的“打开”按钮旁边的下拉三角按钮——打开方式:
选择“二进制编辑器”,确定:
按二进制打开文件了:
虽然已实现了按照二进制的方式打开文件了,但是如果经常需要按二进制打开某类型的文件(例如.rar、.dat),上述操作过程较麻烦,需要很多步骤。如何实现将指定类型的文件拖拽到Visual Studio窗口后默认就按二进制方式打开?
补充说明:
Visual Studio仅支持对“.bin”文件默认以二进制方式打开,即将一个.bin文件直接拖入Visual
Studio后,直接会以二进制方式打开:
但是如果将.rar文件拖入Visual Studio,则默认会以当前操作系统默认打开.rar文件的应用程序来打开(例如本机中为WinRAR):
其他如.dat、无后缀格式的文件同理,拖入后默认都不是按二进制方式打开的,如何做到默认以二进制方式打开?
【解决办法】
有两种方式对“文件的打开方式”添加关联。
注意:
(1)这两种方式是独立的,以最后一次设置为准(例如先通过“法一”中将.rar文件设置为默认按“二进制编辑器”关联打开了,后续又通过“法二”中将.rar文件设置为默认按“WinRAR压缩文件管理器”打开了,即便“法一”中设置的关联选项中还存在“.rar”的关联,但已经不生效了,被“法二”的设置“覆盖”掉了)。
(2)由于两种方法有“相互覆盖”的情况,因此,只选择其中一种方法即可,最终只要达到想要的效果即可,但是更加推荐“方式一”,因为可以在设置选项界面中清晰地看到“二进制编辑器”当前已经关联了哪些后缀,如下图所示:
1. 法一:工具——选项中关联(推荐:因是“显式”设置)
1.1 有后缀格式的文件关联
此处以“.dat”、“.rar”格式的文件默认按照“二进制编辑”打开的关联为例。
打开Visual Studio——菜单栏——工具——选项:
文本编辑器——文件扩展名——右侧在将“编辑器”选择为“二进制编辑器”,在“扩展名”处输入“dat”,然后点击右侧的“添加”按钮:
添加效果如下:
如果需要继续添加其他后缀(例如添加“.rar”),则继续在“扩展名”处输入“.rar”,然后点击“添加”按钮:
然后确定:
1.2 无后缀格式的文件关联
打开Visual Studio——菜单栏——工具——选项:
文本编辑器——文件扩展名——右侧先勾选“将无扩展名文件映射到”,然后在下拉列表框中选择“二进制编辑器”,最后点击“确定”:
2. 法二:打开方式中“设为默认值”(不推荐:因是“隐式”设置)
2.1 有后缀格式的文件关联
此处以“.rar”格式的文件默认按照“二进制编辑”打开的关联为例。
打开Visual Studio——菜单栏——文件——打开——文件:
选择一个.rar文件后(注意不要双击),点击下面的“打开”按钮旁边的下拉三角按钮——打开方式:
选择“二进制编辑器”后,先不要点击“确定”,而是点击右上侧的“设为默认值”:
此时会看到“二进制编辑器”后面多出了“(默认值)”字样,然后再确定:
按二进制打开文件了:
.dat文件的关联方式类似,在此不作赘述。
2.2 无后缀格式的文件关联
打开Visual Studio——菜单栏——文件——打开——文件:
选择一个“无后缀格式”的文件后(注意不要双击),点击下面的“打开”按钮旁边的下拉三角按钮——打开方式:
选择“二进制编辑器”后,先不要点击“确定”,而是点击右上侧的“设为默认值”:
此时会看到“二进制编辑器”后面多出了“(默认值)”字样,然后再确定:
按二进制打开文件了:
3. 验证
3.1 验证.rar文件关联是否成功
将其他任一.rar文件直接拖拽到Visual Studio的窗口,发现默认都以“二进制编辑器”方式打开了:
3.2 验证.dat文件关联是否成功
将其他任一.dat文件直接拖拽到Visual Studio的窗口,发现默认都以“二进制编辑器”方式打开了:
3.3 验证“无后缀文件”关联是否成功
将其他任一“无后缀格式的文件”直接拖拽到Visual Studio的窗口,发现默认都以“二进制编辑器”方式打开了:
版权声明:本文标题:默认按“二进制编辑器”方式关联打开指定类型的文件(如.dat 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1704332253a85414.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论