Board logo

标题: [文本处理] 求提取文件中指定字符并创建文件名的文本 [打印本页]

作者: lzwudi    时间: 2008-9-5 15:24     标题: 求提取文件中指定字符并创建文件名的文本

我有个文本内容如下:
  1. 鸡;51;11;160;5;0;0
  2. 鹿;52;11;161;12;0
  3. 鹿1;97;11;161;50;0
  4. 半兽人;83;19;100;15;0
复制代码

我想用P来提取内容中第一个分号前面的字符
并创建文本文档N个,其名称为第一个分号前面的字符
比如按照上面的内容
应该创建文本4个
文件名分别为:
鸡.TXT
鹿.TXT
鹿1.TXT
半兽人.TXT
请指教!谢谢!!!
作者: lzwudi    时间: 2008-9-5 15:35

这样做对吗?
先新建一个1.TXT
  1. @echo off
  2. md 1
  3. for /f "delims=;" %%i in (怪物名称.txt) do copy 1.txt 1\%%i.txt
  4. pause
复制代码

作者: namejm    时间: 2008-9-5 15:39

  1. @echo off
  2. for /f "delims=;" %%i in (怪物名称.txt) do cd.>%%i.txt
  3. 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