中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]如何提取文本第一行作为新建文件夹的名字
« [1] [2] »
作者:
标题: [已解决]如何提取文本第一行作为新建文件夹的名字 上一主题 | 下一主题
chenai79921
初级用户





积分 120
发帖 48
注册 2007-12-1
状态 离线
『楼 主』:  [已解决]如何提取文本第一行作为新建文件夹的名字

例如:1.txt内容如下
2131241
6564556
5474577

现在要提取文本第一行内容,并新建文件夹的名字为第一行内容~~~?
怎么解决?谢谢~~

[ Last edited by chenai79921 on 2007-12-25 at 10:54 AM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 kissbill 分数: +2  时间:2008-11-15 00:27


2007-12-19 09:31
查看资料  发送邮件  发短消息 网志   编辑帖子
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

@echo off
for /f "tokens=2 delims=:" %%i in ('findstr /n . 1.txt^|findstr /b "1:"') do md %%i

   此帖被 +2 点积分    点击查看详情   
评分人:【 kissbill 分数: +2  时间:2008-11-15 00:27




第一高手    第二高手

2007-12-19 09:54
查看资料  发送邮件  发短消息 网志   编辑帖子
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 3 楼』:  

成功.......

2007-12-19 10:54
查看资料  发送邮件  发短消息 网志   编辑帖子
chenai79921
初级用户





积分 120
发帖 48
注册 2007-12-1
状态 离线
『第 4 楼』:  

谢谢fastslz啊~~~每次求助都有人帮忙 太感动了,,,
有啥批处理的教程啊,我也想好好学学。

2007-12-19 11:00
查看资料  发送邮件  发短消息 网志   编辑帖子
tempuser
高级用户





积分 547
发帖 261
注册 2006-4-15
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by fastslz at 2007-12-19 09:54:
@echo off
for /f "tokens=2 delims=:" %%i in ('findstr /n . 1.txt^|findstr /b "1:"') do md %%i

tokens=2是选取文本第2列内容吗?
delims=:是用:做分隔符吗?文本中没有分号啊!
能否解释('findstr /n . 1.txt^|findstr /b "1:"')含义?
谢谢,等待中...

2007-12-19 16:56
查看资料  发短消息 网志   编辑帖子
chenai79921
初级用户





积分 120
发帖 48
注册 2007-12-1
状态 离线
『第 6 楼』:  

1:内容
2:内容

tokens=2 第二个参数为内容,, :是分隔符

findstr /n  就是在匹配的每行前打印行数,,在每行的开始和1: 进行配对
在帮助里看到的,,还有^是什么意思,我也不知

2007-12-19 17:14
查看资料  发送邮件  发短消息 网志   编辑帖子
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by fastslz at 2007-12-19 09:54 AM:
@echo off
for /f "tokens=2 delims=:" %%i in ('findstr /n . 1.txt^|findstr /b "1:"') do md %%i

那是否也可以将文本的最后一行,当作文件的名字呢
是最后一行,不是第三行;)

2007-12-19 18:45
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by huahua0919 at 2007-12-19 18:45:


那是否也可以将文本的最后一行,当作文件的名字呢
是最后一行,不是第三行;)

未行应该可以:
@echo off
for /f "delims=" %%a in (a.txt) do set "fss=%%a"
md "%fss%"
另第一行也可以这样的:
@echo off
for /f "delims=" %%a in (a.txt) do  if not defined fss set fss="%%a"
md %fss%




简单!简单!再简单!
2007-12-19 19:11
查看资料  发送邮件  发短消息 网志   编辑帖子
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 9 楼』:  

简单!简单!再简单!

第一行用的很妙!

2007-12-19 19:16
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 10 楼』:  


@echo off
for /f "delims=" %%i in (a.txt) do md "%%i" &exit


   此帖被 +2 点积分    点击查看详情   
评分人:【 kissbill 分数: +2  时间:2008-11-15 00:28


2007-12-19 20:09
查看资料  发送邮件  发短消息 网志   编辑帖子
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 11 楼』:  


set/p file=<a.txt
md %file%


2007-12-20 00:48
查看资料  发送邮件  发短消息 网志   编辑帖子
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by lxmxn at 2007-12-20 12:48 AM:
set/p file=<a.txt
md %file%

不得不佩服斑竹的功力!
那是否也可以用同样的方法将第二行创建为一个文件夹的名字?

2007-12-23 10:43
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 13 楼』:  

不行,此方法只能取文件的第一行。

2007-12-24 00:01
查看资料  发送邮件  发短消息 网志   编辑帖子
jinthree
新手上路





积分 18
发帖 8
注册 2006-12-7
状态 离线
『第 14 楼』:  

真是强,我以前碰到遇到一个问题。
想用findstr找文件中一个出现的字串的那一行文本。然后再从这一行里读出第7个字串是这样处理的。看看有没有更简便的方法呢?

%1 为想要查找的内容,

@FINDSTR /i %1 log.txt >temp01.txt
FOR /F "eol=; tokens=7 delims= " %%1 in (temp01.txt) do (
Echo %%1 > temp02.txt
goto :jump1
)

:jump1

2007-12-25 13:46
查看资料  发短消息 网志   编辑帖子
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 15 楼』:  

FINDSTR放到for里面
FOR /F "eol=; tokens=7 delims= " %%i in ('FINDSTR /i %1 log.txt') do Echo %%i



2007-12-25 14:03
查看资料  发短消息 网志   编辑帖子
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: