中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [请教]如何生成文件名和文件夹相对应的数据?
作者:
标题: [请教]如何生成文件名和文件夹相对应的数据? 上一主题 | 下一主题
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『楼 主』:  [请教]如何生成文件名和文件夹相对应的数据?

各位兄台:

  现在因为需要,我想进行以下操作:

  1.生成1.txt、2.txt......10.txt
  2.生成文件夹1、文件夹2.....文件夹10
  3.将文件和文件夹依名称对应存放,即1.txt放在文件夹1.....10.txt放在文件夹10

  请问该怎么操作呢?恳请赐教。(问之前在新人必看帖http://www.cn-dos.net/forum/viewthread.php?tid=27667&fpage=1已经搜了,没找到-_-!!)


  另外,如果想做下扩展:把文件夹设为2层,文件夹1下有文件夹11,文件夹2下有文件夹22....以此类推,而把1.txt~10.txt置于第2层下,怎么做呢?多谢多谢~!:D



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-9-21 16:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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


@echo off&SetLocal EnableDelayedExpansion
for /L %%a in (1,1,10) do (
        set ok=文件夹%%a\文件夹%%a%%a
        md !ok!&&cd.>!ok!\%%a.txt
)


2007-9-21 16:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 3 楼』:  

哈,代码成功!为啥自己就知道一一对应了呢,是因为在一次循环里,生成的值都是一样的吧?

再请教下,嘿嘿:)(其实这才是我真正想做的)

  现在我的硬盘里有很多这样的文件夹,比如“刘德华”、“张学友”,其下会有一些子文件夹,结构就像上面说的那样,可能是一层,可能二层,也可能更多。
├─文件夹1
│  └─文件夹11
│          1.mp3
│          ...
├─文件夹10
│  └─文件夹1010
│          10.mp3
│          ...
├─文件夹2
│  └─文件夹22
│          2.mp3
│          ...
├─文件夹3
│  └─文件夹33
│          3.mp3
│          ...
├─文件夹4
│  └─文件夹44
│          4.mp3
│          ...
  假设我当前文件夹是“刘德华”,现在想把底下的所有MP3拷到当前路径下,(这个我会,嘿嘿,for /f %%a in ('dir /b /s *.mp3') do copy %%a,菜鸟也就这水平-_-!),再把所有子文件夹包括里面的内容全部删除(使我一进“刘德华”这个文件夹就展现所有的mp3歌曲),请问怎么操作?

[ Last edited by Billunique on 2007-9-21 at 05:43 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-9-21 17:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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

试试这个:
@echo off
for /r .\ %%a in (*.mp3) do (
        move /-Y "%%a" .\
)
for /d %%a in (*) do @echo rd /s/q "%%a"


   此帖被 +4 点积分        点击查看详情   
评分人:【 Billunique 分数: +4  时间:2007-9-22 14:13


2007-9-21 20:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 5 楼』:  

嘿嘿,多谢老兄,老让你回答这么弱的问题实在惭愧...



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-9-22 14:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 6 楼』:  

再请教一个,希望这个可以稍有点难度:)

  我想批量生成1.txt....~10.txt,同时在这些文件里都生成内容line1.....~line50,请问该怎么做?(说明:不用拷贝的方法实现)

  再进一步,如果想在1.txt里生成的内容是:
test1 line1
test1 line2
....
test1 line50
  想在2.txt里生成的内容是:
test2 line1
test2 line2
....
test2 line50
  以此类推,直至10.txt,怎么完成呢?我想应该得用到For的嵌套,可是我用不好:(



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-9-22 16:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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

有时间多看看for命令的教程.
for /L %%a in (1,1,10) do (
    for /L %%b in (1,1,50) do (
        echo line%%a line%%b>>%%a.txt
    )
)


2007-9-22 17:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 8 楼』:  

兄台,你的方法我试过,结果没有成功。跟你的代码一比较才发现,原来我的第一个do和括号挨着,写成了“do(”......



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-9-22 17:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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



  Quote:
Originally posted by Billunique at 2007-9-22 17:38:
兄台,你的方法我试过,结果没有成功。

没有成功?我不信!

2007-9-22 17:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 10 楼』:  

你的代码没有问题,绝对成功!哈,我是说之前我自己写的没有成功,原因是do后面没加空格......



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-9-22 18:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lzmuhioin
初级用户





积分 51
发帖 24
注册 2007-9-18
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by lxmxn at 2007-9-21 04:45 PM:
@echo off&SetLocal EnableDelayedExpansion
for /L %%a in (1,1,10) do (
        set ok=文件夹%%a\文件夹%%a%%a
        md !ok!&&cd.>!ok!\%%a.txt
)

请问lxmxn版主在md !ok!&&cd.>!ok!\%%a.txt语句中>起的是什么作用呢?

[ Last edited by lzmuhioin on 2007-9-23 at 11:46 PM ]

2007-9-23 23:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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

RE lzmuhioin:

> 的作用是将>前的命令产生的标准输出输出到>后面的文件中,文件的内容被重写。
有时间多看看基础教程。

2007-9-24 00:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: