中国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联盟去发个帖子问问 那里真是卧虎藏龙啊 有很多高手的 www.cn-dos.net/forum ... ===============================分隔线==================================== 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 楼』:  

纯体力活




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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: