您的位置:首页 > 其它

2017/03/18 关于dos下使用批处理

2017-03-18 16:03 155 查看
不知道这个标题是不是很正确,反正在下面我会把问题尽量的描述清楚。

问题:问题来源于最近需要使用一个软件,该软件是dos界面下面,输入指令,针对某数据进行不同类别条件,不同参数的重复计算,结果会自动保存。根据控制变量法,每次只改变一个条件,那么所有参数的组合会达到144种,每种组合下,改程序会运行3分钟到4分钟左右,这样一算,对同一组数据,就需要400多分钟的计算,并且,需要手动修改指令144次,过程十分的枯燥而且繁琐,还会将原来零碎的时间打乱,注意力无法集中。而且,后面还有两组数据需要同样的过程,总的将近400多次的手工操作。

17号晚上的时候,利用office的查找与替换,将144条指令全部生成完毕,今天需要做的工作就是将其从文档中复制到dos界面下,点击确认运行,但是仍旧需要没3~4分钟处理一次。

方法:忍无可忍之下,终于开始寻求改变,想到了批处理。但是以前没有使用过这个,现成上网上搜索了一下。大概明白了其实就是写一个txt文档,将后缀改成bat,然后双击就可以运行。想要观察运行的过程的话可以echo进行提示,最后只需要加上pause就可以保持窗口。

于是,我将我的工作利用批处理分成了一下几个步骤:

- 首先,echo off;

- cd 到C盘,因为批处理文件是在桌面的,所以直接cd \ 。但是这个不具有通用性,当你的批处理文件不在C盘及其子目录下面的时候,可能会出问题,建议写成C:(这一步只是我猜想,没有验证)

- 然后cd到我软件所需要输入指令的文件夹下面;

- 然后剩下的部分就是一条一条我需要执行的指令了,因为之前已经在office中完成,所有直接复制过来就可以了,把原来的一些非指令注释前面都加上echo,就不会报错,还具有提示功能

- 最后加上pause,方便结束之后选择是否要在窗口中查看信息

txt中的指令如下:

echo off

echo 切换到根目录
C:

echo 切换路径
cd C:\***S\***s   Rem 切换到软件所在的文件夹

echo  某条件参数为***** 某条件参数为******
instructions      Rem   需要执行的语句

echo  某条件参数为***** 某条件参数为******
instructions      Rem   需要执行的语句

echo  某条件参数为***** 某条件参数为******
instructions      Rem   需要执行的语句

echo  保留窗口
pause          Rem    保留窗口


上面就是我批处理的整个过程。

另外,发现,即使bat文件中存在dos中不能处理的指令,也不会影响后续指令的执行,只是会报出一个提示,接着执行后面的指令,这大概也是我最后pause的原因吧,方便看一看有没有什么地方出现异常。

当然上述过程仍旧存在大量可以改进的地方,因为现在的指令是通过office的查找替换手工得到的,之后的改进点可以在写出for循环,不仅批处理中的代码量会大大减少,而且手工操作的时间也会节省下来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dos 批处理