中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 02:57
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]如何提取文本第一行作为新建文件夹的名字
可打印版本  4,417 / 21
第1楼 chenai79921 发表于 2007-12-19 09:31
初级用户 发帖 48 积分 120
[已解决]如何提取文本第一行作为新建文件夹的名字
例如:1.txt内容如下
2131241
6564556
5474577

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

[ Last edited by chenai79921 on 2007-12-25 at 10:54 AM ]
第2楼 fastslz 发表于 2007-12-19 09:54
铂金会员 发帖 2,315 积分 5,493 来自 上海
@echo off
for /f "tokens=2 delims=:" %%i in ('findstr /n . 1.txt^|findstr /b "1:"') do md %%i
第3楼 cad55 发表于 2007-12-19 10:54
高级用户 发帖 329 积分 620
成功.......
第4楼 chenai79921 发表于 2007-12-19 11:00
初级用户 发帖 48 积分 120
谢谢fastslz啊~~~每次求助都有人帮忙 太感动了,,,
有啥批处理的教程啊,我也想好好学学。
第5楼 tempuser 发表于 2007-12-19 16:56
高级用户 发帖 261 积分 547
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:"')含义?
谢谢,等待中...
第6楼 chenai79921 发表于 2007-12-19 17:14
初级用户 发帖 48 积分 120
1:内容
2:内容

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

findstr /n 就是在匹配的每行前打印行数,,在每行的开始和1: 进行配对
在帮助里看到的,,还有^是什么意思,我也不知
第7楼 huahua0919 发表于 2007-12-19 18:45
银牌会员 发帖 780 积分 1,608
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


那是否也可以将文本的最后一行,当作文件的名字呢
是最后一行,不是第三行;)
第8楼 terse 发表于 2007-12-19 19:11
银牌会员 发帖 946 积分 2,404
Originally posted by huahua0919 at 2007-12-19 18:45:


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

未行应该可以:

另第一行也可以这样的:
第9楼 huahua0919 发表于 2007-12-19 19:16
银牌会员 发帖 780 积分 1,608
简单!简单!再简单!

第一行用的很妙!
第10楼 jmz573515 发表于 2007-12-19 20:09
银牌会员 发帖 464 积分 1,212
第11楼 lxmxn 发表于 2007-12-20 00:48
版主 发帖 4,938 积分 11,386
第12楼 huahua0919 发表于 2007-12-23 10:43
银牌会员 发帖 780 积分 1,608
Originally posted by lxmxn at 2007-12-20 12:48 AM:



不得不佩服斑竹的功力!
那是否也可以用同样的方法将第二行创建为一个文件夹的名字?
第13楼 lxmxn 发表于 2007-12-24 00:01
版主 发帖 4,938 积分 11,386
不行,此方法只能取文件的第一行。
第14楼 jinthree 发表于 2007-12-25 13:46
新手上路 发帖 8 积分 18
真是强,我以前碰到遇到一个问题。
想用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
第15楼 zh159 发表于 2007-12-25 14:03
金牌会员 发帖 1,467 积分 3,687
FINDSTR放到for里面
FOR /F "eol=; tokens=7 delims= " %%i in ('FINDSTR /i %1 log.txt') do Echo %%i
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023