![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-24 05:24 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请强人解答doskey在批处理中的异常情况 (xp sp2) |
| 可打印版本 1,291 / 8 |
| 第1楼 kcdsw | 发表于 2006-12-08 10:02 |
| 中级用户 发帖 179 积分 404 | |
|
请强人解答doskey在批处理中的异常情况 (xp sp2) 开始/运行/cmd
然后 doskey aa=pause 回车 然后 aa 回车 提示 请按任意键继续. . . 但是如果把 写入批处理 责会提示 'aa' 不是内部命令或外部命令云云.... 望高手解释
|
|
| 第2楼 3742668 | 发表于 2006-12-08 12:31 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
看书不认真的家伙。
运行 doskey 宏 -------摘自《帮助与支持》 在以前研究批处理加密时关注过此问题,变通的方法是修改注册表使cmd运行前执行宏命令,具体参考cmd /d详解。 |
|
| 第3楼 kcdsw | 发表于 2006-12-09 06:23 |
| 中级用户 发帖 179 积分 404 | |
|
呵呵 谢谢版主
我的机器上帮助是关闭的 我只看了/? 我想用doskey 是因为那个vbs bat 混合编程 如果doskey可用的话 那么只需要在 批处理语句前加' 就可以了 |
|
| 第4楼 3742668 | 发表于 2006-12-10 02:39 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
建议尽量把bat部分写在vbs部分前面,因为vbs解释程序的效率要比bat的快得多。 |
|
| 第5楼 qzwqzw | 发表于 2006-12-10 05:09 |
| 银牌会员 发帖 636 积分 2,343 | |
|
关于 ' 2>nul 存在一个漏洞:
如果存在一个可调用的程序名叫 ' ,会出现不可知的问题。 --------------------------- “vbs解释程序的效率要比bat的快得多”的结论,不知从何而来? 印象中,vbs与bat是一样的慢。 分别构造了两个带有万行注释的vbs和bat,之后都跟了一句(wscrip.)echo hello world vbs采用的csript调用,bat 用call 结果,第一次vbs约2s多,bat则是1s多;之后vbs大约为0.4s,bat不变。 ---------------------------- bat部分写在前面或后面会对程序效率造成影响吗? 对于wsh来说,bat不论写在前面或后面,wsh都会解析它,除非用 ' 做前缀。 而对cmd来说,bat写在前面就不需要进行标签重定位,中途直接exit/b或者goto:eof bat写在后面,则需要跨越vbs段找到标签。 因此,bat写在前面的确会快一些,但那是因为cmd不必解析vbs段,而非vbs比bat快 ----------------------------------- 另外还有个exit /b的问题: 印象中它与goto :eof的效率差不多,于是构造了个万行代码作测试。 结果goto :eof在第一次执行时稍快20ms,之后的差别就无法观测不到了。 -------------------------------------- 突然觉得这种测试很无聊,有谁会去编写超过万行的脚本呢? 而脚本的效率问题主要体现在对海量数据的操作上,而非海量代码的解析上。 所以,bat或前或后应该也无所谓,根据实际情况而定吧。 |
|
| 第6楼 lxmxn | 发表于 2006-12-10 07:06 |
| 版主 发帖 4,938 积分 11,386 | |
|
楼上的仁兄好强,研究这么透彻,拜一个…… |
|
| 第7楼 3742668 | 发表于 2006-12-10 14:07 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
Re qzwqzw:
*最初写vbs的时候,总是尽量写sub而不写成function,因为阴文基础差,function不大记得,后来对常用关键字比较了解以后,都是尽量把sub写成function,函数有返回值就写返回值,无则返回true或false,出错也可以直接返回false,这样不光在调用函数的时候可以直接用if function来调用而且对于出错也更容易处理。 |
|
| 第8楼 qzwqzw | 发表于 2006-12-10 15:34 |
| 银牌会员 发帖 636 积分 2,343 | |
|
嗯,看来是我的描述有问题……
第一,你的 ' 2>nul 的修改虽然有漏洞,但可以被修复,所以可以作为改进方案,我对此十分乐见。 所谓“鸡蛋里挑些骨头”,只是希望在爱吃的鸡蛋里再找些爱吃的骨头罢了。 第二,vbs与bat的效率问题 因为测试的过程是解析+执行,所以结果也必然是解析+执行后的结果。 而我的两个测试脚本都是万行注释+一句echo代码,所以我的测试结果主要体现在解析上 第三,培养意识确实很重要,我很赞同,这与风格其实是相关的,有了意识就有了风格。 第四,结语很仓促,也很混沌,因为突然觉得自己的结果不重要,一种无味的心理在作怪。 我的意思是:仅从代码效率上来看,bat与vbs谁前谁后影响甚微乃至可以忽略,请依据其它的条件来决定它们的顺序。 |
|
| 第9楼 3742668 | 发表于 2006-12-11 08:05 |
| 荣誉版主 发帖 718 积分 2,013 | |
结语很仓促,也很混沌,因为突然觉得自己的结果不重要,一种无味的心理在作怪。 不错,结果的确不重要。对于vbs混合bat,我还是那个看法:了解即可,勿需深究。 不过若是你还是对 bat和vbs的效率对比 存在和我不同的看法不妨于站内消息系统留言我们一起探讨探讨,因为它已经超出了本主题的讨论范围了。而且为了一个无聊的话题来进行无谓肤浅(我们上面的讨论仅仅是着眼于表面,并未透过现象看本质)的讨论,未免落了下乘。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |