中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]怎样根据文本文件建立文件夹
作者:
标题: [已结]怎样根据文本文件建立文件夹 上一主题 | 下一主题
mark91ft
新手上路





积分 10
发帖 4
注册 2007-9-28
状态 离线
『楼 主』:  [已结]怎样根据文本文件建立文件夹

有一文本文件test.txt:

  Quote:
2MORO
4 IN LOVE
183CLUB
Avril Lavigne
B.A.D
BEYOND
Cookies
F I R

我想用每行的人名建立文件夹,一行建一个。如下:
@echo off
set /p importTxt=[请输入你已经准备好的txt文件的全路径]
set /p outputPath=[请输入你要将生成的目录保存到的路径]
for /f "tokens=1 delims= " %%j in ('more %importTxt%') do mkdir %outputPath%\%%j
set /p over=目录生成完毕,请按回车退出该程序。
运行后如果是连续字符的可以正常建立文件夹,但是4 IN LOVE,B.A.D,F I R这样有空格和.的名字只能建立以首字符为名的文件夹,如4,B,F。

请问如何修改才能正确建立4 IN LOVE,B.A.D,F I R文件夹。

[ Last edited by HAT on 2008-11-14 at 09:32 ]

2007-9-28 01:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 2 楼』:  

试一试这个!
@echo off
for /f "delims=" %%a in (test.txt) do (
  md "%%a"
)
楼主要自己思考啊
这个是很简单的任务1

2007-9-28 02:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by mark91ft at 2007-9-28 01:54:
有一文本文件test.txt:
2MORO
4 IN LOVE
183CLUB
Avril Lavigne
B.A.D
BEYOND
Cookies
F I R

我想用每行的人名建立文件夹,一行建一个。如下:
@echo off
set /p impo ...

你的问题就是没有考虑空格嘛
这个问题现在已经不是问题了
加引号就是了

2007-9-28 02:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mark91ft
新手上路





积分 10
发帖 4
注册 2007-9-28
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by scriptor at 2007-9-28 02:05 AM:



你的问题就是没有考虑空格嘛
这个问题现在已经不是问题了
加引号就是了

对不起,按你的CODE好像也不行,你说的加引号怎么加,加哪儿,请说的详细点,谢谢。

2007-9-28 02:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by mark91ft at 2007-9-28 02:37:



对不起,按你的CODE好像也不行,你说的加引号怎么加,加哪儿,请说的详细点,谢谢。

怎么不行?
我的测试了
可以的
你把你的test文件内容贴出来


加引号就是
md "%%a"
这里
默认下,空格会作为分隔符,所以 md 4 IN LOVE 不成功
但是 md "4 IN LOVE" 肯定可以的

不知道你是怎么测试的!?

2007-9-28 02:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
mark91ft
新手上路





积分 10
发帖 4
注册 2007-9-28
状态 离线
『第 6 楼』:  

我是加在“%outputPath%\%%j”上了。改过来了,一切ok,谢谢。

2007-9-28 02:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cdmtys168
新手上路





积分 11
发帖 7
注册 2008-11-14
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by mark91ft at 2007-9-28 01:54:
@echo off
set /p importTxt=[请输入你已经准备好的txt文件的全路径]
set /p outputPath=[请输入你要将生成的目录保存到的路径]
for /f "tokens=1 delims= " %%j in ('more %importTxt%') do mkdir %outputPath%\%%j
set /p over=目录生成完毕,请按回车退出该程序。

请问你改成什么样可以有空格键都行的?
我各处都该了还不行

2008-11-14 05:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cdmtys168
新手上路





积分 11
发帖 7
注册 2008-11-14
状态 离线
『第 8 楼』:  

再试验后,知道是

@echo off
set /p importTxt=[请输入你已经准备好的txt文件的全路径]
set /p outputPath=[请输入你要将生成的目录保存到的路径]
for /f "tokens=1 delims=" %%a in ('more %importTxt%') do mkdir %

outputPath%\"%%a"
set /p over=目录生成完毕,请按回车退出该程序。

呵呵

2008-11-14 05:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: