中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 请人帮我写个批处理 上一主题 | 下一主题
zbj0123210
新手上路





积分 8
发帖 3
注册 2008-8-29
状态 离线
『楼 主』:  请人帮我写个批处理

需要处理的是
在当前文件夹下,自动建立10个文件夹,命名位 0,1 ,2
一直到9,
而文件夹0-9 里面又分别有这么多文件夹,一直循环6次 等于有6层
意思就是生成0-9这10个文件夹
而打开0文件夹,里面还有这10个文件夹

这个该怎么写  

简单一点,这个层数告诉我在哪里能改,让我自己用
谢谢

下面是百度知道里的回答,我试了,但都不成功
求高人


回答    共 3 条
@echo off
set mdnum=0
:loop
set /a mdnum+=1
if %mdnum% geq 16 goto end
for %%a in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do md %%a
cd a
goto loop
:end
@echo success
pause.

还是不能完全达到目的
只做到了A文件夹下的15层A
其它都只有1层
才疏学浅,等高人来解答吧
我会一直关注这问题的
PS:为了这问题我这两天几乎啥也没干。。。就是不停生成文件夹测试再删除再测试
后面又写了些代码,不发上来算了,达不到目的
这个对我来说太难了

PS:hbmhalley - 助理 二级发的代码。。。
我放在F盘测试的
F:\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a\a
运行了20秒,我关了
回答者:qivsran - 魔法师 四级  8-28 17:02
        
试过好使的方法:

if %1 equ 16 goto :eof
set /a j=%1+1
for %%i in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do md %%i & cd %%i & c:\p %j% & cd..

把他存成c:\p.bat(否则要将上文的"c:\p"改成别的),运行"c:\p.bat 0"
不过你可想好了,26的15次方是个21位数,需要漫长的时间

PS qivsran - 魔法师 四级
不会啊,我试了,放在F盘需要将c:\p改成f:\p
回答者:hbmhalley - 助理 二级   8-28 19:24
        
for %%a in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do md %%a

for %%a in (a,../b,../c,../d,../e,../f,../g,../h,../i,../j,../k,../l,../m,../n,../o,../p,../q,../r,../s,../t,../u,../v,../w,../x,../y,../z) do cd %%a&&for %%a in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do md %%a

目前我只能做成这样。。如果没有人能回答的话建议你去DOS联盟去发个帖子问问 那里真是卧虎藏龙啊 有很多高手的
http://www.cn-dos.net/forum/forumdisplay.php?fid=23

===============================分隔线====================================

3楼的方法不错~按照你新的要求 可以改为

if %1 equ 6 goto :eof
set /a j=%1+1
for %%i in (1,2,3,4,5,6,7,8,9) do md %%i & cd %%i & c:\p %j% & cd..

把这个P处理放到C盘改为p.bat
然后运行 c:\p.bat 0
接下来就慢慢等吧。。如果机器快的话一个小时差不多就可以创建好了
一共要创建597870个文件夹
如果你要修改层数的话 就把if %1 equ 6这个6修改成你想要的层数就可以了
回答者:枫萧寒 - 大魔法师 九级  8-29 11:34

2008-8-29 14:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zbj0123210
新手上路





积分 8
发帖 3
注册 2008-8-29
状态 离线
『第 2 楼』:  

高人都不在吗?

2008-8-29 15:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 3 楼』:  

写个3层的为例。要6层自己改吧。
@echo off
for /l %%a in (0,1,9) do (
for /l %%b in (0,1,9) do (
for /l %%c in (0,1,9) do (
md %%a\%%b\%%c
)))
pause

2008-8-29 15:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 4 楼』:  

纯体力活



C:\
C:\Del BC
2008-8-29 15:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





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


@echo off&setlocal enabledelayedexpansion
set /p n=输入层数:
set /a n-=1&for /l %%i in (0 1 9) do call:lp %%i
pause&exit
:lp
set/a m+=1
if %m% leq %n% (for /l %%i in (0 1 9) do call :lp "%~1\%%i")else md %1
set/a m-=1


   此帖被 +15 点积分         点击查看详情   
评分人:【 everest79 分数: +15  时间:2008-9-2 15:17




简单!简单!再简单!
2008-8-29 16:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zbj0123210
新手上路





积分 8
发帖 3
注册 2008-8-29
状态 离线
『第 6 楼』:  

谢谢高人们,已经实现了,再次感谢

2008-8-30 09:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: