标题: [文本处理] [已解决]批处理如何输出多行内容到文本/向文本写入多行内容? [打印本页]
作者: selige 时间: 2009-7-6 22:25 标题: [已解决]批处理如何输出多行内容到文本/向文本写入多行内容?
本帖最后由 pcl_test 于 2016-11-23 10:11 编辑
创建一个文件,要向文件里面写上百行的文本
比如
要向:a.txt 写入
123=0
asd=1
mdf=2
zxc=3
369=4
n
n+1
……
因为我要写上百行的内容
先谢谢大家了!
作者: keen 时间: 2009-7-6 22:41 标题: 回复 1楼 的帖子
我不明白你在说什么,你想问什么样的问题,你想知道什么?
不要动不动,用所谓的“如题”,你的题目上,我就没明白你在问什么问题,我想通过帖子看你的问题是什么,结果来了个“如题”。
你的问题是什么,尽量用语言描述清楚。用语言说不清楚,你可以举个简单例子,让大家更好明白。
如果你用这种笼统的问题想找到答案,我估计谁也帮不了你。
请把要更新的问题,更新在顶楼,切勿跟帖更新。
作者: namejm 时间: 2009-7-6 23:21
没什么技巧,老老实实一行一行地echo吧:- @echo off
- (
- echo 123=0
- echo asd=1
- echo mdf=2
- echo zxc=3
- echo 369=4
- )>>a.txt
- start a.txt
复制代码
作者: selige 时间: 2009-7-6 23:25
原帖由 namejm 于 2009-7-6 23:21 发表
没什么技巧,老老实实一行一行地echo吧:@echo off
(
echo 123=0
echo asd=1
echo mdf=2
echo zxc=3
echo 369=4
)>>a.txt
start a.txt
不是吧,如果有100行、1000行、10000行,那不是要把人累死!……
作者: namejm 时间: 2009-7-6 23:33
如果这100行、1000行、10000行不是从其他文件中读取出来的,而是要直接写入文件中去,除了直接生成内容之外,我想不到还有什么其他的方法,就算是再高级的语言,也概莫能外。
如果这些内容来自某些文件,或者是某些执行过程的返回内容,那又另当别论,还请给出你的真实环境,而不是大而化之地问“怎么写入”而不说明内容的来源,“如题”之类的字样就更加令人爱莫能助了。
作者: RuiIsRui 时间: 2009-7-6 23:39
楼主想干什么?说明白一点嘛~
作者: namejm 时间: 2009-7-6 23:44
原帖由 selige 于 2009-7-6 22:25 发表
5楼的管理员,直接生成又是什么意 ...
所谓直接生成,就是原来不存在的内容,需要用命令语句创建出来。
作者: tireless 时间: 2009-7-7 00:53
很多行的话可以用 more。如:- @echo off
- more +4 %0 >> a.txt
- exit /b
-
- 123=0
- asd=1
- mdf=2
- zxc=3
- 369=4
- n
- n+1
复制代码
或者用文本编辑器批量在开头加 echo :
[ 本帖最后由 tireless 于 2009-7-7 01:11 编辑 ]
作者: selige 时间: 2009-7-7 04:07
谢谢8楼的,很强大!
作者: selige 时间: 2009-7-7 04:59
如果我只需要写入中间一部分,并不是后面所有的呢?因为后面还有别的命令,但我并不想把这些命令也写入文件。
作者: Batcher 时间: 2009-7-7 10:42 标题: 回复 10楼 的帖子
能否透露一下你想写入中间哪一部分?
如果你需要保密的话,那就算了,让他们猜去吧。
作者: selige 时间: 2009-7-7 12:07 标题: 回复 11楼 的帖子
@echo off
more +4 %0 >> a.txt
exit /b
123=0
asd=1
mdf=2
zxc=3
369=4
n
n+1
……
pause
del /q /s %windir%\system32\cid_store.dat
echo . >%windir%\system32\cid_store.dat
attrib %windir%\system32\cid_store.dat +r
del /q /s %windir%\system32\cid_store.dat.bak
echo . >%windir%\system32\cid_store.dat.bak
attrib %windir%\system32\cid_store.dat.bak +r
pause后面的怎样才能不写入文件?
作者: tireless 时间: 2009-7-7 12:26 标题: 回复 12楼 的帖子
可以把要输出的内容放到批处理结尾。
@echo off
more +4 %0 >> a.txt
del /q /s %windir%\system32\cid_store.dat
echo . >%windir%\system32\cid_store.dat
attrib %windir%\system32\cid_store.dat +r
del /q /s %windir%\system32\cid_store.dat.bak
echo . >%windir%\system32\cid_store.dat.bak
attrib %windir%\system32\cid_store.dat.bak +r
exit /b
123=0
asd=1
mdf=2
zxc=3
369=4
n
n+1
……
+4 的意思是输出第四行以后的内容,修改一下这个数字就行了
作者: selige 时间: 2009-7-7 13:13 标题: 回复 13楼 的帖子
再次感谢8楼的高手!
作者: 28817432 时间: 2016-11-23 09:26
没什么技巧,老老实实一行一行地echo吧:
namejm 发表于 2009-7-6 23:21
请教。如果是写入中文呢、怎么处理。(加双引号能写入。但是不是需要的)
如: echo “啊哈哈哈哈”=0
作者: GNU 时间: 2016-11-23 23:06
回复 15# 28817432
我测试了一下不加双引号也能写入复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |