中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-10 00:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]批处理的“打开方式” 查看 1,025 回复 9
楼 主 [已结]批处理的“打开方式” 发表于 2008-10-11 16:49 ·  中国 广东 广州 电信
初级用户
★★
积分 109
发帖 65
注册 2008-07-28 22:04
18年会员
UID 122281
性别 女
状态 离线
我好像是更改了bat的打开方式,改成用Notepad++打开,双击后就默认用了Notepad++打开,后来在Notepad++中改正了该设置,但不知为什么,现在双击bat可以使用,但若右击bat,选择“编辑”,则打开了“打开方式”对话框,我需要选择用记事本打开才可以进行编辑,请问我应该怎样恢复?

[ Last edited by HAT on 2008-10-13 at 12:33 ]
2 发表于 2008-10-11 17:07 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
reg add HKCR\batfile\shell\edit\command /ve /t REG_EXPAND_SZ /d "NOTEPAD.EXE %1" /f
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Wingl83 +1 2008-10-11 20:59
3 发表于 2008-10-11 18:26 ·  中国 福建 三明 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
好像要用两个百分号,嘻嘻
┌───────┐
├→学习→实践→┤
└───────┘
4 发表于 2008-10-11 20:10 ·  中国 广东 广州 电信
初级用户
★★
积分 109
发帖 65
注册 2008-07-28 22:04
18年会员
UID 122281
性别 女
状态 离线
按照2楼的方法可恢复利用记事本编辑的功能,但是又有新的问题出现了:右击bat,选择“编辑”后,打开的bat文件中并没有代码,而是一片空白,我应该怎么办呢?
5 发表于 2008-10-11 20:42 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
开始
运行
cmd

reg add HKEY_CLASSES_ROOT\batfile\shell\open\command /ve /t REG_SZ /d "\"%1\" %*" /f

reg add HKEY_CLASSES_ROOT\batfile\shell\edit\command /ve /t REG_EXPAND_SZ /d "%SystemRoot%\System32\NOTEPAD.EXE %1" /f
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Wingl83 +2 2008-10-11 20:58
6 发表于 2008-10-11 20:57 ·  中国 广东 广州 电信
初级用户
★★
积分 109
发帖 65
注册 2008-07-28 22:04
18年会员
UID 122281
性别 女
状态 离线
按照5楼的步骤已经解决,可以解释一下吗?
7 发表于 2008-10-12 11:17 ·  中国 湖南 郴州 电信
新手上路
积分 8
发帖 4
注册 2007-12-29 09:55
18年会员
UID 107095
性别 男
状态 离线
di顶
8 发表于 2008-10-12 11:18 ·  中国 湖南 郴州 电信
新手上路
积分 8
发帖 4
注册 2007-12-29 09:55
18年会员
UID 107095
性别 男
状态 离线
di顶
9 发表于 2008-10-12 14:57 ·  中国 广东 广州 电信
初级用户
★★
积分 109
发帖 65
注册 2008-07-28 22:04
18年会员
UID 122281
性别 女
状态 离线
Originally posted by HAT at 2008-10-11 08:42 PM:
开始
运行
cmd

reg add HKEY_CLASSES_ROOT\batfile\shell\open\command /ve /t REG_SZ /d "\"%1\" %*" /f

reg add HKEY_CLASSES_ROOT\batfile\shel ... 


为什么将值设置为"%1" %*?且为什么一定要在运行的cmd中,不可做成批处理呢?

[ Last edited by Wingl83 on 2008-10-12 at 15:16 ]
10 Re 9楼 发表于 2008-10-12 16:23 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
因为批处理和cmd对双引号和百分号的转义方法不同
这类问题可以随着知识的积累再做深入研究
建议现阶段多看基础教程和帮助,少发一些看看帮助就能解决的问题,如:
http://www.cn-dos.net/forum/viewthread.php?tid=43630
论坛跳转: