中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 脚本命名的问题 上一主题 | 下一主题
cr2516
初级用户





积分 32
发帖 12
注册 2006-7-20
状态 离线
『楼 主』:  脚本命名的问题

我为了测试网络  

这样写了一个简单的脚本


tracert 212.108.2.98 >>1.txt
tracert 202.117.4.83 >>1.txt


脚本的名字命名为   tracert.cmd  
为什么就运行不了   显示的结果都是   tracert 212.108.2.98 >>1.txt
我把脚本的名字改成  2.cmd  就可以了  是什么原因那

2006-9-21 00:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  批处理文件名与命令名重名,则批处理内的命令实际上执行的是这个批处理。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-21 00:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 3 楼』:  

这是因为DOS执行的tracert命令为外部命令, 这就需要调用tracert.exe.

而你的批处理命名为tracert.cmd, 执行批处理中tracert命令时, 会自动在系统默认路径和当前目录中按顺序搜索tracert的可执行文件, 这样tracert.cmd就被反复调用, 而无法正常执行命令了.

楼主试试把代码改为:
tracert.exe 212.108.2.98 >>1.txt
tracert.exe 202.117.4.83 >>1.txt
批处理名字为tracert.cmd, 看能否正常执行.

所以批处理命名最好不要取和外部命令相同的名字!

[ Last edited by pengfei on 2006-9-21 at 00:44 ]



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-21 00:43
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
cr2516
初级用户





积分 32
发帖 12
注册 2006-7-20
状态 离线
『第 4 楼』:  

pengfei
强呀   非常感谢!!

2006-9-21 00:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 5 楼』:  

这个问题比较经典,让我想起了cmd的一个社会工程学缺陷~




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-9-21 00:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cr2516
初级用户





积分 32
发帖 12
注册 2006-7-20
状态 离线
『第 6 楼』:  

什么缺陷  让我这菜鸟也学学

2006-9-21 00:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: