中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-01 21:16
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行
DOS批处理 & 脚本技术(批处理室) » 使用批处理简单实现【批量建立文件】
可打印版本  954 / 3
第1楼 ziver 发表于 2006-07-15 22:21
初级用户 发帖 4 积分 20
使用批处理简单实现【批量建立文件】
这个是我发的第一个帖子,只希望能对初学者有些帮助,望高手莫见笑!
共同进步ing...

今天写了不少代码,总是重复的建立一下.cpp文件。
于是想到用前些天学习的批处理来实现这个重复度较高的过程吧...
学而用之...

事出有因:
今天建立了一些这样的文件
vc1_1.cpp vc1_2.cpp vc2_1.cpp vc2_2.cpp vc2_3.cpp...
当然下次我还要建立一些vc3_1.cpp.....
N多的无聊过程岂是我能容忍

思路分析:
首先想到的是如何在DOS中建立一个文件,而不是文件夹
而DOS中并没有能直接建立文件的命令(也许是我没有学到吧),可以考虑edit filename.ext但每次都会打开DOS文件编辑窗口,所以行不通。
于是想到用COPY命令来实现,即用一个空的文件作为被拷贝的源文件来产生一系列的目标文件

具体实现:
首先在下建立了一个名为null.nul的空文件
在下建立了一个makefill.bat的批处理文件以实现<b>批量建立文件</b>
makefill.bat的代码如下示

这里用到了@ECHO OFF隐蔽DOS下命令的显示

代码解释:
只用到了一条命令实现了预想的功能

makefile.bat 用到两个命令行参数%1和%2分别对应产生的文件中的两个数字

在DOS下输入我们看到一下一段帮助文档

这个正是实现文件名中第二个数字的方法

语句用以判断所要建立文件的存在性
如果文件不存在,则建立…………这样避免覆盖已经存在的文件

实际应用:
makefile.bat所在的文件夹输入makefile 4 2


小节:
很简单的一个bat文件,没有什么大的技术含量
只是想说明一点,学到的一些东西要能灵活应用才好,要能解决一些碰到的问题
不然学习编程意义何在?

对于学习批处理推荐一本书《MS-DOS6_2批处理文件高级指南》
感谢中国DOS联盟的朋友 qb45 将此书赠与我!

参考文章批处理详细教程


文章链接:使用批处理简单实现【批量建立文件】
第2楼 chenall 发表于 2006-07-16 20:48
银牌会员 发帖 469 积分 1,276 来自 福建泉州
跟据上来的代码来看,你的系统应该是2000以上的系统.
1.如何在DOS中建立一个空文件?
可以使用如下命令.
copy nul file.ext
2.IF NOT EXIST vc%1_%2.CPP 这句我想应该改成
IF NOT EXIST vc%1_%%a.CPP 才符合要求.
第3楼 IceCrack 发表于 2006-07-16 21:09
中级用户 发帖 168 积分 332 来自 天涯
《MS-DOS6_2批处理文件高级指南》 这个书在哪啊!在他的空间上没有找到
第4楼 htysm 发表于 2006-07-18 12:58
高级用户 发帖 415 积分 866
2.IF NOT EXIST vc%1_%2.CPP 这句我想应该改成
IF NOT EXIST vc%1_%%a.CPP 才符合要求.

高手!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023