中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-25 22:39
47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行
DOS批处理 & 脚本技术(批处理室) » [讨论]批处理脚本和程序设计语言的比较
可打印版本  6,154 / 26
第1楼 lxmxn 发表于 2006-11-16 03:33
版主 发帖 4,938 积分 11,386
[讨论]批处理脚本和程序设计语言的比较

  学习批处理已经有一段时间了,感觉批处理脚本和很多程序设计语言有很多地方是相通的,特别是在算法上更是相通。把其它程序设计语言的算法拿到批处理里面来同样适用,当然只是算法上是类同的道理,实际语句就不一样了。  ^_^

  就我个人感觉,批处理脚本和其它程序设计语言有以下方面是相通的(和大家熟悉的C语言比较吧):
---------------------------------------   变量的赋值
  批处理里面可以用set命令来赋值,而C语言里面是类似"int a=1"这样来赋值的。
   判断语句
  批处理里面可以用if来判断,同样,C语言里面也是用if。
   循环语句
  批处理脚本里面可以用for来实现循环功能(当然,要在批处理里实现循环还有其它的很多方法~),这和C里面的for大同小异。
   输入语句
  C语言里面可以用"Scanf()"函数来实现输入操作,而在批处理里面就可以用"set /p a="来替代了。
   输出语句
  C语言里面可以用"Printf()"函数来实现输出操作,在批处理里面就可以用一个简单的"echo"语句来完成了。
   函数
  C语言里面可以调用函数来直接完成一些任务,我觉得批处理里面的"call"和"goto"命令结合上标签之后,就相当于是一个"函数"了。可以先用批处理把要实现的功能写好,然后把代码保存在.bat文件或者.cmd文件里面,或者直接放在要调用它的批处理脚本里面,然后用"call"或者"goto"调用它就可以了,这就不相当于一个函数了么? =_=
   参数
  C语言里面有参数,批处理文件和命令同样可以接受各种参数。
   算法
  很多算法都是相通的。
---------------------------------------



  以上只是个人愚见,由于经验以及各方面的原因,难免会有疏漏和错误的地方,欢迎大家来讨论、批评、指正。如果还有其它方面的相通点我没有提到的,大家可以发帖来讨论,我会完善原文的内容的。

  可能有的朋友会认为,一个是脚本,一个是程序设计语言,两者没法比较,而我写这个文章的目的就是使大家对批处理有一个更新的认识,仅此而已。


[ Last edited by lxmxn on 2006-11-16 at 03:34 AM ]
第2楼 electronixtar 发表于 2006-11-16 03:39
铂金会员 发帖 2,672 积分 7,493

函数
  C语言里面可以调用函数来直接完成一些任务,我觉得批处理里面的"call"和"goto"命令结合上标签之后,就相当于是一个"函数"了。可以先用批处理把要实现的功能写好,然后把代码保存在.bat文件或者.cmd文件里面,或者直接放在要调用它的批处理脚本里面,然后用"call"或者"goto"调用它就可以了,这就不相当于一个函数了么? =_=


个人认为这只是一个 sub,即过程。 函数要返回值的。而 Goto 只能通过一个公共变量来交换值
第3楼 lxmxn 发表于 2006-11-16 03:48
版主 发帖 4,938 积分 11,386
个人认为这只是一个 sub,即过程。 函数要返回值的。而 Goto 只能通过一个公共变量来交换值

  恩,还是有很多区别的,不过大体功能就是那样,都可以被调用来实现一些功能。
第4楼 vkill 发表于 2006-11-16 04:11
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
都大同小易,只不过命令不同
第5楼 anakin 发表于 2006-11-20 04:40
新手上路 发帖 4 积分 1
不错.....都大同小异
第6楼 kxows 发表于 2006-11-20 05:53
初级用户 发帖 11 积分 31
有同感
第7楼 hxuan999 发表于 2006-11-23 07:38
中级用户 发帖 161 积分 337
不错呀,应该写出代码来对比一下.
第8楼 yunlin 发表于 2006-11-25 15:48
新手上路 发帖 7 积分 5
看不懂
第一次来
新手来着
顶你了 老公
第9楼 kaidi 发表于 2007-01-27 11:02
新手上路 发帖 8 积分 16
学习学习再学习
第10楼 ccwan 发表于 2007-01-27 21:23
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
我比较赞同楼主的意见,计算机语言是有很多相通之处的。

对于7楼要求写出代码作为例子,我这里分别给出C语言和批处理的一个例子,很能说明问题。




C语言代码:



批处理代码:


上例不难看出,解题思路一样,甚至代码都很相似 。
第11楼 TLang 发表于 2007-01-27 22:48
初级用户 发帖 21 积分 46
批处理能运算么?!!
批处理能运算么?!!
第12楼 zh159 发表于 2007-01-27 22:52
金牌会员 发帖 1,467 积分 3,687
Originally posted by TLang at 2007-1-27 09:48:
批处理能运算么?!!

set /a

当然,有一定的限制
第13楼 TLang 发表于 2007-01-27 23:27
初级用户 发帖 21 积分 46
Originally posted by zh159 at 2007-1-27 09:52:

set /a

当然,有一定的限制


是,只是基本的运算

IF语句也比较简易

……

总之个人感觉WinXPSP2时代,虽然对命令行命令以及批处理命令有了很大扩展,但是都还是比较简易,基础的~~
第14楼 lxmxn 发表于 2007-01-28 11:55
版主 发帖 4,938 积分 11,386
Originally posted by TLang at 2007-1-27 10:27:


是,只是基本的运算

IF语句也比较简易

……

总之个人感觉WinXPSP2时代,虽然对命令行命令以及批处理命令有了很大扩展,但是都还是比较简 ...


  呵呵,毕竟它是个脚本嘛,哪有高级语言那么多的函数可供你直接用呢?
第15楼 redtek 发表于 2007-01-29 01:04
金牌会员 发帖 1,147 积分 2,902
大炮、导弹、冲锋枪……在战争中缺了谁都不行,它们各有所长,它们将实用在战争中的每一个需要发挥它们特长的地方~:)

对于枪,我一辈子也可能摸不到或是用不到(当然也买不到,哈哈)。但是它对某些人来说失去它就等于失去了宝贵的生命~:)

把最适合或是适合用在某些环境的工具或是脚本或是某种语言,并尽可能让它们物尽所长,就是艺术~:)


(个人瞎说,权当玩笑,虽然还是梦想着能有一把枪~:)
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023