中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 用记事本打开批处理 上一主题 | 下一主题
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『楼 主』:  用记事本打开批处理

因我的鼠标右键坏了,突发奇想,想编一批处理a.bat,运行以后可以用记事本打开b.bat,不知道能否实现?[/size]

2007-2-4 11:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 2 楼』:  

尾行添加以下语句试试:
start notepad "%~0"

call start notepad "%~0"

调用可执行程序用第一个,调用批处理用第二个。



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2007-2-4 11:37
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 3 楼』:  

多谢版主
能解释一下 notepad 命令是干什么的吗? 谢谢!!!

2007-2-4 11:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 4 楼』:  

搜索一下系统目录 notepad.exe 就知道了,不是你说的 “记事本” 吗?



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2007-2-4 11:59
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 5 楼』:  

版主的命令不太懂

2007-2-4 12:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by anqing at 2007-2-4 12:14:
版主的命令不太懂

我猜想你对 call 与 start 的使用有疑问,详情参阅一下帮助。

我简单说明一下:

对于 call 与 start 很多时候能完成同样的命令,也可以组合起来使用。
简单点说一下两者的区别(个人体会)

call :可以调用可执行程序和代码段,也可以调用 set 等命令完成变量的转义(或者称宏替换我不确定该如何准确称呼),主程序会等待调用结束。

start:同样可以调用可执行程序和代码段,默认参数使用时主程序不等待调用结束继续下面语句的执行,可以加 /WAIT 参数等待命令结束。

启动 exe 程序一般使用 start 命令,启动 批处理脚本 一般使用 call ,当然根据具体情况选择,也可以混合使用。



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2007-2-4 12:55
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
zhuzhu818
初级用户





积分 94
发帖 31
注册 2007-1-27
状态 离线
『第 7 楼』:  

有点疑问后面 "%~0"

是什么意思呢???解释一下好吗?

2007-2-5 09:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 8 楼』:  

call start notepad "%~0"
这个放在p中,运行后,会打开这个p,用记事本打开,%0是表示调用自身,但加一个~号,意思可能就变了,就不懂了?
把这个含有call start notepad "%~0"的p中,拖进其它的p中,会自动打开运行哪个p

版主的这两条命令,真深

2007-2-5 12:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 9 楼』:  

楼主可以在cmd,打入 echo start notepad "%~1">d:\a.bat,然后,把想打开的其它p拖进来 ,就可以查看p的代码了?
右键坏了,不如换个标!

2007-2-5 12:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lizaoyou
中级用户




积分 210
发帖 85
注册 2007-1-14
来自 广东广州
状态 离线
『第 10 楼』:  

也不明白"%~0",仅知"~"可能是一元运算符。

2007-2-5 12:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 11 楼』:  

%~0 只是 %0 的扩展,其含义是删除引号。
详情见:for /?



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2007-2-5 14:13
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
lizaoyou
中级用户




积分 210
发帖 85
注册 2007-1-14
来自 广东广州
状态 离线
『第 12 楼』:  

谢版主释疑。

2007-2-5 14:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 13 楼』:  

call start notepad "%~0"
请问版主,这句在p中,改成call start notepad %0的话,和call start notepad "%~0"有什么不同??

2007-2-5 22:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by anqing at 2007-2-5 22:14:
call start notepad "%~0"
请问版主,这句在p中,改成call start notepad %0的话,和call start notepad "%~0"有什么不同??

防止文件名中有空格等

2007-2-5 23:11
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
6622186
高级用户





积分 894
发帖 411
注册 2007-2-17
状态 离线
『第 15 楼』:  

学习了, 收下, 谢谢.



@set c=     不知则觉多,知则觉少,越知越多,便觉越来越少.        --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


2007-3-18 11:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: