批处理三日谈(原创) 点击:983 | 回复:6



独孤西狂

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:11帖 | 199回
  • 年度积分:0
  • 历史总积分:372
  • 注册:2002年11月09日
发表于:2007-10-06 18:04:00
楼主
批处理三日谈
国庆放假了!7天!耶!
不过“耶”的人当中没有我的份。我被安排7天加班----在信用社这样的金融机构,节假日加班再正常不过了。不要以为节假日加班工资会很高,可不是3倍啊,远远不是。至于多少,我不说。郁闷。
无意间看到了信用社所用的密码输入器、刷卡器的使用说明书,发觉它们的通信协议非常简单,反正闲得无聊,于是按照它们的协议,用VB写了一个测试密码器、刷卡器是否完好的小程序,做成exe可执行文件格式的。不想拿到另外一台电脑上无法使用,因为这台电脑上缺少了某个通信控件。如果我把测试小程序做成安装包,拿到其它电脑上象平时安装软件一样正而八经地安装,当然是拿到哪里都可以使用的,但那么小的一个程序还搞什么安装包,我还真的是做不来----太让我没有感觉了。想了一下决定用批处理文件做了注册文件,把通信控件随小程序一起存放在一个文件夹,第一次运行小程序的时候注册通信控件。在此之前基本上只是知道有批处理文件,知道批处理文件就是一堆DOS命令排列而形成的集合。在灵中读高一的时候考微机还考过一些基础知识,当时只考了59分还是49分记不清了,总之是没及格。还好平时装系统还是用了一些DOS命令来分一下区、格一下盘之类的,何况现在用的UNIX命令跟DOS命令也有所相近,因此还是有点信心。在十月二日开始,我学了三天。我写下来,权作练练打字。 



独孤西狂

  • 精华:1帖
  • 求助:0帖
  • 帖子:11帖 | 199回
  • 年度积分:0
  • 历史总积分:372
  • 注册:2002年11月09日
发表于:2007-10-06 18:05:00
1楼
十月二日  
我现在的目的是把当前目录的通信控件自动拷贝到指定的目录下去。于是baidu了一下,拷贝的命令是copy,跟UNIX的cp用法基本一样啦,嘿嘿。建立了一个txt文件,取名reg.txt,在里面写下了第一行语句:copy app.path\reg.bat d:\,然后保存,把后缀名由txt改成bat,嘿嘿,文件图标变了,由一本笔记簿的样子变成了一个方框里面有一个齿轮。有趣。
点击运行了一下,屏幕有个东西晃了一下,消失了。好,到d盘看一下。打开了d盘根目录,噢?没有reg.bat?
革命尚未成功,同志仍须努力。
估计是这个“app.path”没起到作用,这是VB、VC里面用来表示当前目录的,我是习惯了直接拿来使用。
Baidu了一下,没有找到相同的资料。
后来乱试了几次,最后改为:copy reg.bat d:\,保存,运行,查看d盘根目录,里面多了一个方框里面有一个齿轮的图标的文件:reg.bat。这就是我初步达成的目标。
因为以前经常要注册各种控件的缘故,注册控件对我而言已经不需要找帮助了,于是接下来把语句完善了一下(我这里所需要注册的是微软的MSCOMM32.OCX通信控件):
Copy MSCOMM32.OCX C:\WINDOWS\system32
regsvr32 /s C:\WINDOWS\system32\MSCOMM32.OCX
exit
保存,运行,好了。
这时上司走过来:“黄仔,那个文件目录做得怎样了?” 
我:“•#¥%……—*”
于是赶紧整理那个文件目录。
刚整理好文件目录,三海社拿了好几台存折打印机过来,说又卡纸又绞色带的,让我维修一下。我再看看角落,已经积累了6台存折打印机了。
于是剩下的大半天就用来修打印机了。主要还是重新装色带。色带装成那样子,不绞坏才怪呢。
累了,不打了。明天再说。

独孤西狂

  • 精华:1帖
  • 求助:0帖
  • 帖子:11帖 | 199回
  • 年度积分:0
  • 历史总积分:372
  • 注册:2002年11月09日
发表于:2007-10-06 18:06:00
2楼
十月三日
昨天已经做了一个批处理程序了。
今天再学习了如下几个命令:@、echo、rem、pause、:和goto、%等等。主要就是上网查查他们的语法,然后在桌面上建个批处理文件练习一下。
有资料上说C盘根目录下的AUTOEXEC.BAT会在开机的时候自动执行,我写了一个简单的AUTOEXEC.BAT放在C盘根目录下:
@echo off
echo This is test > a.txt  
exit
然后重启,进入系统后迫不及待打开C盘根目录,结果没有看到我所想象的a.txt文件,不单这样,连我刚放进去的AUTOEXEC.BAT都没有了踪影。不知道为何,也许是这个补丁完整、防火墙厚厚的XP系统禁止并删掉了吧。
我没有去追究,因为我并没有打算把这个AUTOEXEC.BAT加进去一句format d:/q & format e:/q,然后想办法放进别人电脑的C盘根目录。
不过开机自动运行还是很有市场的,等我需要用的时候再看看吧。
继续。
以前做双机系统的时候,我想加个数据热备份,那时用的是VBS,总工说不要搞那么多了,还有那么多其它功能没做好呢,于是没有做了,于是,值班大哥就按照随后我编写的使用说明,每天手动把主机的数据库拷贝到备用机上,一直到持续到现在。想不到用一个简单的批处理文件,在WinCC的VBS里面定期执行就可以了: 
Dir file://192.168.1.10/Winccdevelop/data.mdb && 
copy file://192.168.1.10/ Winccdevelop/data.mdb d:\mdbbackup
台山的那位老兄,当时真对不住你了,嘿嘿,今天,你在他乡还“拷”吗?
接下来做些什么呢?看看局域网上有多少台计算机在运行吧。
通常,用ping来顺序尝试连接同一网段内的各个地址,是最直接的办法。结果可以存放在一个记事本内:
@FOR /L %%i IN (0,1,255) Do ping 192.168.1.%%i -n 1 >nul
arp -a -> num.txt
exit
这是参考了别人的写法的,虽然每台只ping一次,但速度还是太慢了,让它从1 ping 255,等到花儿也谢了都没完,还是加速吧。修改ping的参数为:
-n 1 –i 5 –w 100,也就是次数为1,帧字节数为5,等待时间为100毫秒。保存,运行,速度飞快。
今天到此为止,做其它事情。

独孤西狂

  • 精华:1帖
  • 求助:0帖
  • 帖子:11帖 | 199回
  • 年度积分:0
  • 历史总积分:372
  • 注册:2002年11月09日
发表于:2007-10-06 18:06:00
3楼
后记  
这是一次入门的学习,本身没有什么。我前面也说过了,我是一个喜欢浅尝则止的人,因此在没有明显目的的情况下是不会深入的。从掌握的一点点知识来看,虽然批处理在某些场合是十分强大,但与C语言等编程语句比起来是比较有限的。
以后再需要用批处理的时候再来有目的地研究吧。
Ade,我的批处理命令们!Ade,我的BAT文件和COM文件们!

独孤西狂

  • 精华:1帖
  • 求助:0帖
  • 帖子:11帖 | 199回
  • 年度积分:0
  • 历史总积分:372
  • 注册:2002年11月09日
发表于:2007-10-06 18:06:00
4楼
十月四日  
上网看了一下批处理的好用处,觉得用于IPC远程控制还是相当方便的,如果用来搞点小破坏的话应该没有什么问题,并且相当多的病毒和木马都采用了批处理脚本。不过我对这些东西毫无兴趣。没办法,天生就是个好人,不想做恶(能力也有限啊,吼吼)。我想做的是用批处理来控制电脑串口的通信,比如用来控制单片机。
Baidu了一下,居然没有相关的任何参考资料。日。
也许是昨天晚上因极度郁闷失眠,导致早上精神状态极度不佳,失去了正常的判断能力,我傻傻地坚持花了半天时间去尝试着个没有任何参考资料的试验。头脑清醒的情况下我是会很快放弃的,因为我是一个喜欢浅尝则止的人。结果是没有实现我的目的。
用批处理来控制电脑串口的通信,也许还真是一个不可能的任务,也许是我功力还不够。
今天还修了些打印机。拆来拆去,会换色带传动轮了。
依然只是出于入门状态,刚刚想踏进门去,没想到门槛后就是一个大坑,我没看清就摔了一跤,不过还算是在门里面了。是时候回头了。

tigermu

  • 精华:6帖
  • 求助:0帖
  • 帖子:175帖 | 5410回
  • 年度积分:0
  • 历史总积分:19807
  • 注册:2003年1月19日
发表于:2007-10-07 05:38:00
5楼
还是有探索精神的。

独孤西狂

  • 精华:1帖
  • 求助:0帖
  • 帖子:11帖 | 199回
  • 年度积分:0
  • 历史总积分:372
  • 注册:2002年11月09日
发表于:2007-10-15 08:59:00
6楼
无甚兴趣。。。。。。

热门招聘
相关主题

官方公众号

智造工程师