找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 106820|回复: 35

[其他] 【咨询】如果自己做一个CMD?

[复制链接]
发表于 2011-8-22 22:13:36 | 显示全部楼层 |阅读模式
如果自己做一个CMD的话,大家有什么看法?
这是个非常大的工程,所以如果觉得没有什么实用的话就不做了

做的话暂时有想到下来的目标
1、兼容当前的批处理、第三方
2、提供更开放的接口给予第三方直接进行控制批处理
3、可以直接调用API
4、多线程
5、增强各种命令

如果有需求的话就准备动手做

评分

参与人数 5PB +16 技术 +4 收起 理由
ht河豚 + 1 支持一下
qc5111 + 1 有创新!希望早日成功
raymai97 + 1 强烈支持!可惜我现在连c++最基本的hello w ...
Hello123World + 6 + 1 支持把代码开源,让有志之士都加入进来!
batman + 10 为这大胆的想法加分

查看全部评分

发表于 2011-8-22 22:18:38 | 显示全部楼层
个人觉得很有需求,在精神上强烈支持。。。
发表于 2011-8-22 22:45:03 | 显示全部楼层
既然是非常大的工程!最低运行环境?何种兼容模式?
 楼主| 发表于 2011-8-22 22:55:02 | 显示全部楼层
回复 3# fastslz


最低运行环境应该没有要求,VC6开发的话只要有依赖就可以,依赖的文件是每台电脑都有的(64位的话可能要专门用不同的)
兼容的话,希望能做到跟系统的CMD一样执行批处理能有同样的结果
发表于 2011-8-22 23:00:52 | 显示全部楼层
加油吧,希望早日开发成功。
发表于 2011-8-22 23:14:39 | 显示全部楼层
哇~ 这将是一个很难的任务啊~ 如果楼主觉得自己做得到的话,当然没有问题~
有了新的cmd,我就可以用比较简单的批处理命令来做到现在只有vbs/c++语言可以做到的东西~ 想想看那该多好啊~

加油咯!
发表于 2011-8-22 23:28:30 | 显示全部楼层
一个人做可能会累死,建议找几个有志向的一起写(我虽然也想加入,但高级语言学的哗啦哗啦,想也是白想)
发表于 2011-8-22 23:39:58 | 显示全部楼层
强烈的 精神上的  支持.
 楼主| 发表于 2011-8-22 23:59:48 | 显示全部楼层
回复 6# raymai97


    不会增加很多提供特定功能的命令,但会提供一些基本命令,例如字符串处理、API等
发表于 2011-8-23 00:15:40 | 显示全部楼层
说实话。。很有挑战性 cmd.exe 200多KB
发表于 2011-8-23 01:53:34 | 显示全部楼层
本帖最后由 qc5111 于 2011-8-26 13:13 编辑

加油,希望用VC写,把源码发上来!!!!
发表于 2011-8-23 07:05:12 | 显示全部楼层
先不说支持32位MS-DOS+VC库,Win98+VC库就能运行这个CMD就是一个突破,还有WinPE+VC库。也就是说没有CMD的情况下也能保证这个CMD能用吗?
发表于 2011-8-23 09:34:34 | 显示全部楼层
回复 6# raymai97


能否举几个例子说说你经常用到的哪些东西是VBS能做但BAT不能做的?也好让楼主在开发过程中做个参考
发表于 2011-8-23 10:31:33 | 显示全部楼层
回复 13# CUer


额~ 比如说对话框吧~ 在批处理下要做挺麻烦的~ 不是通过第三方软件,就是用临时vbs。如果用msg命令,效果并不怎么理想
还有cmd好歹也该有个类似ckey和sleep.com的功能在里面吧~ 这些功能挺好用的~
还有后台也是个挺麻烦的事~ 如果是批处理的话,一就是通过临时vbs隐藏自己,二如果cmd窗口会一直在的话,可以用“start /b 批处理”的方法,但也不理想。
要跟后台的批处理对话更是需要临时文件,或改变自己的属性等麻烦的方法~
所以总结,我认为新的cmd应该有以下功能~

1. 把ckey, sleep.com 等的功能加到cmd里面~
2. 提供一个方法来使两个批处理能对话,比如可以设置membat命令,用法是membat 《事先约好的号码》 《变量改变》,比如membat "87112" set o=ok
3. 提供更好的对话框功能,并设置一种可以让批处理隐藏运行的命令。
4. 允许多线程,但为避免某些“有问题”的批处理导致电脑崩溃,设置最多4个,也就是说一个批处理的start “” %0的弹窗命令将只能弹出4个,但同时可以让一个批处理能在一个时间做4个东西。
5. color选项太少,应该增多,并设置一种命令以方便我们实现类似“彩色批处理”的效果~

就这样多,暂时不鼓励加入什么画图形的动能~
发表于 2011-8-23 11:20:52 | 显示全部楼层
1、数字计算,至少能支持最少两位数的浮点运算吧,最高10000*10000差不多。
2、时间计算,提供一种精确到微秒的时间计算。
3、再开放一个函数库,提供公共函数库和自定义函数库。
4、整合基础的文本编辑功能,使得替换、提取html类的文本都显得简单些。
5、后台通信,一个桥,支持各个程序相互交流。
6、对网络的支持更广泛,使得在cmd上可以浏览网页、下载。这是使得批处理回到现代网络生活的一个基础。——这个有点超现实了,不过w3m可以做到。
7、增强批处理对系统方面的操作,比如,让taskkill能够杀掉更高一级的进程。
8、使得cmd对一行代码的支持可以容纳标签等。
9、颜色、图片(动画就不苛刻了)、声音(这个目前不是问题)等功能一定要有,而且要与时代接轨。支持鼠标、键盘一类的也太重要了。使得开发的批处理程序有更多的实用性和适应性。——这个可能朝着高级化发展了,不符合cmd只是基于windows的初衷。但,能走多远算多远,不是吗。
10、bat2exe这类的也集成了。
11、集成ps方面的dos。——可能没必要,似乎,他们有需要。
12、提供一种开放接口给三方,使得三方能够直接进入新的cmd,而不必为路径设置苦恼。
13、……
-------------------------------------------------------
啰嗦了,看来大家对批处理的短板也看得多了,忍受得多了。工程做起来非比寻常,艰难。一个人是个痛苦的差事,需要有人支持和协助。

基本的开发思路,需要分几步走:
1、实现基础功能。使得你的新cmd能够实现原cmd的功能。这个是所有工作的基础。
2、集成现有批处理开发方面的成果。比如时间计算、sed、wget等。这使得新cmd能超越原有的cmd。
3、重点创新解决批处理急需的一些大问题。比如颜色、定位、图片、网络等。使得批处理更接近生活实践,获得更大的拓展空间。

评分

参与人数 1技术 +1 收起 理由
raymai97 + 1 赞成,很好的意见

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:43 , Processed in 0.023431 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表