标题: [文本处理] 求提取文件中指定字符并创建文件名的文本 [打印本页]
作者: lzwudi 时间: 2008-9-5 15:24 标题: 求提取文件中指定字符并创建文件名的文本
我有个文本内容如下:
- 鸡;51;11;160;5;0;0
- 鹿;52;11;161;12;0
- 鹿1;97;11;161;50;0
- 半兽人;83;19;100;15;0
复制代码
我想用P来提取内容中第一个分号前面的字符
并创建文本文档N个,其名称为第一个分号前面的字符
比如按照上面的内容
应该创建文本4个
文件名分别为:
鸡.TXT
鹿.TXT
鹿1.TXT
半兽人.TXT
请指教!谢谢!!!
作者: lzwudi 时间: 2008-9-5 15:35
这样做对吗?
先新建一个1.TXT
- @echo off
- md 1
- for /f "delims=;" %%i in (怪物名称.txt) do copy 1.txt 1\%%i.txt
- pause
复制代码
作者: namejm 时间: 2008-9-5 15:39
- @echo off
- for /f "delims=;" %%i in (怪物名称.txt) do cd.>%%i.txt
- pause
复制代码
作者: lixiaodaoaaa 时间: 2008-9-5 16:33
原帖由 namejm 于 2008-9-5 15:39 发表
@echo off
for /f "delims=;" %%i in (怪物名称.txt) do cd.>%%i.txt
pause
do cd.>%%i.txt 这句看的不大懂,给点提示
看得不太懂,请求namejm 尘土飞扬大哥,解释一下
我知道cd.就是cd..是返回到上级目录,cd就是进入下机目录
do cd. >%%i.txt 意思是不执行任何操作?还是在当前目录下就截取好字符,生成 %%i.txt?
替换成do echo 结果为找不到指定的路径。。汗
对吗?请给予启事
我会努力得看看,琢磨下。。。。。。。。。。。。。
续:大哥谢谢了,找到答案了
如下:
、cd.>test.txt
很多人第一次遇到这样的语句时,都会大惑不解:cd不是跳转目录的命令吗?怎么会有创建0字节文件的功能呢?曾经有段时间,我是用echo.>test.txt来创建空文件的,只是这个空文件虽然没有任何内容,但是,大小不是0字节,在要求苛刻的情况下,并不能很好地完成任务。实际上,从理论上来说,创建0字节文件的语句有无限多种,只要明白其中的奥妙,就可以随心所欲地构造出来,只是cd.>test.txt是最简洁的方法,符合我"解决问题简洁化"的一贯主张。
构造0字节文件的奥妙在于:只要没有任何内容重定向到文件中去,0字节文件就会随着命令的执行而产生。比如dir 2>test.txt、arp >text.txt、abc 4>test.txt……,只要符合"任意内容+空格+2以上10以下的数字+>test.txt"的格式即可。需要注意的是,千万不要被屏幕上的各种出错信息所蒙蔽,我们的最终目的是产生0字节的文件,至于错误提示完全可以用 2>nul 去屏蔽。更详细的讨论请参考本人在CN-DOS发过的这篇帖子:可构造0字节文本文件的几条命令 。
[ 本帖最后由 lixiaodaoaaa 于 2008-9-5 16:42 编辑 ]
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |