标题: 脚本命名的问题
[打印本页]
作者: cr2516
时间: 2006-9-21 00:37
标题: 脚本命名的问题
我为了测试网络
这样写了一个简单的脚本
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 就可以了 是什么原因那
作者: namejm
时间: 2006-9-21 00:43
批处理文件名与命令名重名,则批处理内的命令实际上执行的是这个批处理。
作者: pengfei
时间: 2006-9-21 00:43
这是因为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 ]
作者: cr2516
时间: 2006-9-21 00:49
pengfei
强呀 非常感谢!!
作者: electronixtar
时间: 2006-9-21 00:53
这个问题比较经典,让我想起了cmd的一个社会工程学缺陷~
作者: cr2516
时间: 2006-9-21 00:55
什么缺陷 让我这菜鸟也学学