标题: [系统相关] 【已解决】请教批处理修改文件打开方式的方法。 [打印本页]
作者: 437153 时间: 2015-10-16 15:42 标题: 【已解决】请教批处理修改文件打开方式的方法。
本帖最后由 437153 于 2015-10-16 16:20 编辑
今天一个wps后缀的文件,打不开,原因是因为没有关联程序。于是想写一个
用批处理修改程序默认打开方式的脚本,却遇到了一些困难,想在此求教各位老大。
.wps和.doc都是用同一个软件编辑的,我的电脑用的是wps office个人版,
但是我查了一下.doc的关联程序,结果是这样的:- C:\Windows\system32>assoc .doc
- .doc=Word.Document.8
-
- C:\Windows\system32>ftype word.document.8
- word.document.8="D:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE" /n /dde
复制代码
查出来的结果是用WINWORD.EXE打开.doc文件,不过实际情况下双击打开.doc文件用的是wps.exe
在群里请教了老大们,得到@cmd-/zhqsystem/zhq和@蜗牛 的回复:是用的注册表方式。于是查询.doc的结果是:- C:\Windows\system32>reg query hkcr\.doc
-
- HKEY_CLASSES_ROOT\.doc
- (默认) REG_SZ WPS.Doc.6
- Content Type REG_SZ application/kswps
-
- HKEY_CLASSES_ROOT\.doc\PersistentHandler
- HKEY_CLASSES_ROOT\.doc\Word.Document.8
- HKEY_CLASSES_ROOT\.doc\WPS.Doc.6
复制代码
从这里看.doc的类型是WPS.Doc.6
于是我将.wps的文件类型也改为:复制代码
目的是实现了,双击.wps文件和.doc文件一样都是用的wps.exe打开了。
但是ftype查不到WPS.Doc.6的关联程序:- C:\Windows\system32>ftype wps.doc.6
- 没有找到文件类型 'wps.doc.6' 或与其相关的开放式命令。
复制代码
所以不明白如何用批处理实现修改文件默认打开程序?我查了一些帖子,都是说用assoc、ftype这两个
命令,但是从一开始查询.doc的结果来看,好像并不准确。
所在在此求教各位老大,正确姿势应该是怎样的?比如将.wps修改为用【E:\notepad++.exe】打开!先谢过各位了。
作者: 437153 时间: 2015-10-16 16:11
本帖最后由 437153 于 2015-10-16 16:19 编辑
Batcher老大的注册表方式试过了,没起作用:
http://www.bathome.net/redirect. ... =2124&pid=12200
我测试时用的命令是:- reg add HKEY_CLASSES_ROOT\wpsfile\shell\open\command /ve /t REG_SZ /d "C:\Windows\System32\notepad.exe %%1" /f
复制代码
计划是测试用记事本打开.wps文件,不过没反应。然后发现原来还需要用assoc命令把.wps关联为上面命令中提到的【wpsfile】
于是我去注册表中找到.doc关联的类型:WPS.Doc.6,结果如下:- C:\Windows\system32>reg query HKEY_CLASSES_ROOT\WPS.Docx.6\shell\open\command
-
- HKEY_CLASSES_ROOT\WPS.Docx.6\shell\open\command
- (默认) REG_SZ "D:\Program files\WPS Office\9.1.0.4468\office6\wps.exe"
- "%1"
复制代码
和之前测试用的命令相对应,只是类型名不一样,测试的时候用的是wpsfile,而wps office 默认用的是WPS.Doc.6
自己折腾了一圈算是大概整明白了。。感谢论坛及各位老大!
作者: pcl_test 时间: 2015-10-16 20:02
本帖最后由 pcl_test 于 2015-10-16 20:03 编辑
注册表两处地方相互对应,影响着文件的打开方式
一是HKEY_CLASSES_ROOT\扩展名,默认值 对应命令assoc 扩展名的返回值(文件类型)
二是HKEY_CLASSES_ROOT\文件类型\shell\open\command 默认值 对应命令ftype 文件类型的返回值(关联的程序)
另一处亦然
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\扩展名
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\文件类型\shell\open\command
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |