中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么通过批处理建立一个文件,并往里面写入需要的内容
作者:
标题: 怎么通过批处理建立一个文件,并往里面写入需要的内容 上一主题 | 下一主题
星辰月
初级用户




积分 122
发帖 7
注册 2004-7-10
状态 离线
『楼 主』:  怎么通过批处理建立一个文件,并往里面写入需要的内容

比如我在windows系统下,用一个批处理,目的是要在C:\windows目录下创建一个名为boot.ini的文件,并写入如下内容
[Boot Loader]
timeout=3
Default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[Operating Systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
C:\="Microsoft Windows 98"
,并且这些都用这个批处理自动完成,不需要手动输入
我查了论坛里的贴子,并看了置顶贴,均找不到我要的答案,我试过用copy con命令来实现,但要手动输入内容,有高手帮我一下吗

2004-9-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
龙王
银牌会员




积分 1186
发帖 334
注册 2003-5-30
状态 离线
『第 2 楼』:  

有好多方法,用echo和定向符是其中之一句首echo,句尾定向到文件名第一行单定向其它重定向符号例如echo [Boot Loader] >C:\windows\boot.iniecho timeout=3 >>C:\windows\boot.ini
echo Default=multi(0)disk(0)rdisk(0)partition(1)\WINNT >>C:\windows\boot.ini...


2004-9-19 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (3113983)  编辑帖子  回复  引用回复
星辰月
初级用户




积分 122
发帖 7
注册 2004-7-10
状态 离线
『第 3 楼』:  

谢谢了,老兄,我试过了,行,非常感谢,你说有很多方法,还有其他的吗
还有就是,比如说我要修改某一个文件,也是用echo吗

[此贴子已经被作者于2004-9-19 8:25:42编辑过]




2004-9-19 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
星辰月
初级用户




积分 122
发帖 7
注册 2004-7-10
状态 离线
『第 4 楼』:  

我用二楼的老兄所说的方法,通过批处理a.bat,想往批处理b.bat里面写入如下内容echo wasse>c:\1.txt操作是这样的
在批处理A.bat中写入
echo echo wasse>c:\1.txt >b.bat但是在b.bat中看到的却写入的是echo wasse,而>c:\1.txt,却没有了,为什么,难道是我的语法错了,还是不两个>连用不行呢

2004-9-19 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 5 楼』:  

如果是在2000/xp的环境下,在>前面加上^字符就可以了。例如: echo echo wasse ^> c:\1.txt > b.bat但如果是Windows 98或者纯DOS的环境,这种方法恐怕就不好用了。一种简单的方法(需要用到Lmod这个第三方工具):echo echo wasse | lmod /L1 [] [" >c:\1.txt"] > b.bat不用第三方工具应该也是可以的,但需要用到Prompt这个命令,我一直没有特别研究明白这种方法,大概是这样:echo @prompt echo wasse $g c:\1.txt > temp.bat
%comspec% /c temp.bat > b.bat
执行过程如下:C:\>echo @prompt echo wasse $g c:\1.txt > temp.bat
                                                   
C:\>%comspec% /c temp.bat > b.bat                  
                                                   
                                                   
C:\>type b.bat                                    
                                                   
echo wasse > c:\1.txt                              

上面这种方法主要是参考HDKP(HardDisk Killer Pro)的批处理写的,这种方法我试验只能运行于纯DOS环境(或者98的DOS环境),在xp下是不能用的。

   此帖被 +4 点积分        点击查看详情   




偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-19 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
星辰月
初级用户




积分 122
发帖 7
注册 2004-7-10
状态 离线
『第 6 楼』:  

非常感谢Climbing ,正在着手这方便的学习,谢谢

2004-9-20 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 7 楼』:  

Re Climbing:
    以下方法经测试可以运行于NT系列的CMD中,当然在此9x系列和纯DOS下更没有问题。
echo exit | %comspec% /q /k prompt echo wasse $g c:\1.txt | find ">" > b.bat (修订版)

[此贴子已经被作者于2004-10-2 22:03:57编辑过]




   此帖被 +1 点积分    点击查看详情   
评分人:【 zwfj 分数: +1  时间:2007-3-30 23:24




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-10-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
^_^
初级用户




积分 85
发帖 10
注册 2004-10-2
状态 离线
『第 8 楼』:  



  Quote:
以下是引用willsort在2004-10-2 13:32:21的发言:
Re Climbing:
    以下方法经测试可以运行于NT系列的CMD中,当然在此9x系列和纯DOS下更没有问题。
    echo exit | %comspec% /k prompt wasse $g c:\1.txt | find ">" > b.bat
不行哦!
1,我发现prompt 后面还得有一个echo。
2,运行后得出的b.bat却变成这样:
echo wasse > c:\1.txt exit
后面多了一个exit。
[em04]

[此贴子已经被作者于2004-10-2 15:56:32编辑过]




   此帖被 +1 点积分    点击查看详情   
评分人:【 zwfj 分数: +1  时间:2007-3-30 23:24


2004-10-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 9 楼』:  

Re ^_^:    多谢指教。看来我的测试很不彻底。    ECHO是我的疏忽,EXIT则是CMD.EXE的的怪癖了,据我测试,加上静默参数/Q可以解决问题,然后FIND就变得多余了。    echo exit | %comspec% /Q /K prompt echo wasse $g c:\1.txt > b.bat    但我不知道9X下的COMMAND碰到/Q会怎么处理,如果万幸是忽略的话,那么前面的方法改一改,将仍然是通用的,否则就必须根据环境调用不同的命令行了,那时最不愿意见到的。最近碰到很多9X和NT的不兼容问题,在我编写通用性程序的任务面前树起了一座座大山,头疼中 [em06][em06][em06]

   此帖被 +4 点积分        点击查看详情   




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-10-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
^_^
初级用户




积分 85
发帖 10
注册 2004-10-2
状态 离线
『第 10 楼』:  

谢谢!能否说一下%comspec%的用法呢?[em03]

2004-10-4 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LK
高级用户




积分 915
发帖 309
注册 2002-12-22
状态 离线
『第 11 楼』:  我常在XP/2003下直接运行批处理: COPY file1+file1 file3 的方法...



2006-8-26 10:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: