标题: [习题]批处理创建名字为1-20连续的20个文件夹 [打印本页]
作者: youxi01 时间: 2008-1-3 23:09 标题: [习题]批处理创建名字为1-20连续的20个文件夹
要求:
当前目录下,创建文件夹名字分别为1~20的20个连续的文件夹.
作者: awuxixi 时间: 2008-1-23 10:59
for /l %%d in (1,1,20) do md %%d
for 用于文件处理。。。for 的L开关我暂时的理解是根据(括号里)的数字进行循环操作。。
作者: novaa 时间: 2008-1-23 11:55
正确。!
作者: 553850000 时间: 2008-3-29 21:18
@echo off
for /l %%i in (1,1,20) do md %%i
pause
作者: duanxianfell 时间: 2008-3-30 00:21
for %%a /l in (1,1,20) do md c:\%%a
───────────────── 版主回复 ─────────────────
执行:wxcute [2009-07-28]
回复:%%a 与 /l 的位置倒了哦!
───────────────── 版主回复 ─────────────────
作者: 梦想种子 时间: 2008-3-30 00:41
for最简便。再来一种典型:- :a
- @set/a c+=1
- @md %c%
- @if %c% lss 20 goto a
复制代码
作者: firewolf85 时间: 2008-12-6 14:15
for /l %%i in (1 1 20) do (md %%i)
作者: suqili56 时间: 2008-12-7 12:11 标题: 我的
for /l %%i in (1,1,20) do md %%i
作者: hidden 时间: 2009-1-12 23:11
@echo off
for /l %%f in (1 1 20) do md %%f
pause>nul
作者: p05401144 时间: 2009-1-14 12:03
@echo off
for /l %%i in (1,1,20) do md %%i
pause>nul
作者: sjzong 时间: 2009-5-8 23:27
这个就用for 和md就可以了!
作者: inittab 时间: 2009-5-9 00:05
md也可以这样用- @echo off
- set "st="
- for /l %%i in (1,1,20) do call set "st=%%st%% %%i"
- md %st%&pause
复制代码
作者: wangshuping42 时间: 2009-5-9 13:33
原帖由 awuxixi 于 2008-1-23 10:59 发表
for /l %%d in (1,1,20) do md %%d
for 用于文件处理。。。for 的L开关我暂时的理解是根据(括号里)的数字进行循环操作。。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。
作者: q625805390 时间: 2009-7-27 21:54
看大家的都差不多,我的
@echo off
for /l %%i in (20,-1,1) do md %%i
作者: rogoo 时间: 2009-7-27 22:45
for /l %%i in (1,1,20) do (
echo.<nul>%%i
)
作者: rogoo 时间: 2009-7-27 22:46
看错了,应为
for /l %%i in (1,1,20) do (
md %%i
)
作者: lee 时间: 2009-7-27 23:25
@echo off
for /l %%i in (1,1,20) do md %%i
pause
作者: zjw1987_51 时间: 2009-7-29 19:54
唔错...又学到一堂课了
作者: hs4814 时间: 2009-8-9 21:41
这个较简单多多指教:- @echo off
- for /l %%i in (1 1 20) do md %%i\
- pause>nul
复制代码
[ 本帖最后由 hs4814 于 2009-8-9 21:43 编辑 ]
作者: Hysteria 时间: 2009-8-15 10:06
@echo off
for /l %%iin (1,1,20) do md %%i
pause
作者: kevinpeng 时间: 2009-8-15 16:22
直接这样就行了,for太容易想到了,没什么特别的!- md 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20
复制代码
[ 本帖最后由 kevinpeng 于 2009-8-15 16:23 编辑 ]
作者: atsivsucks 时间: 2009-8-19 09:14
- @echo off
-
- set i=1
-
- goto :test
-
- :loop
- md %i%
- rem rd /q %i%
- set /a i+=1
-
- :test
- if %i% leq 20 (
- goto :loop
- )
-
- pause
复制代码
[ 本帖最后由 atsivsucks 于 2009-8-19 09:15 编辑 ]
作者: couth 时间: 2009-8-19 12:25
这个简单:就一句话。
for /l %%i in (1,1,20) do md %%i
作者: dominater 时间: 2009-10-14 18:28
- @echo off
- for /l %%i in (1 1 20) do md %%i
- pause
复制代码
作者: zcydez 时间: 2009-10-18 13:09
@echo off
set a=0 & set b=1 & c=%a% & d= %b%
:b
if %a% neq 20 goto a
if %a% equ 20 exit
:a
md %b% & set /a a=%c%+1 & set /a b=%d%+1 & set c=%a% & set d=%b%
goto b
作者: vsbat 时间: 2009-10-18 15:24
原帖由 inittab 于 2009-5-9 00:05 发表
md也可以这样用@echo off
set "st="
for /l %%i in (1,1,20) do call set "st=%%st%% %%i"
md %st%&pause
啊====
看了好久才看懂,手法高哇===
利用 for 循环 把变量st 从 1 变到 1 2 再变到1 2 3 。。。。。
作者: eoikj 时间: 2009-11-5 17:31
for /l %a in (1 1 20) do md %a
怎么大家都喜欢用2个%?
作者: keen 时间: 2009-11-5 18:26 标题: 回复 28楼 的帖子
用两个%%是因为在批处理文件中的使用方法,如果单纯在CMD下,直接执行命令你的写法,就可以。
作者: ljjllj 时间: 2009-11-8 15:40
如下,因该对了吧
@echo
for /l %%i in (1,1,20) do md %%i
pause
作者: tevktev 时间: 2009-11-9 21:42
只会最笨的方法。。
@echo off
for /l %%i (1 1 20 ) do md %%i
pause>nul
作者: tevktev 时间: 2009-11-9 21:47
原帖由 inittab 于 2009-5-9 00:05 发表
md也可以这样用@echo off
set "st="
for /l %%i in (1,1,20) do call set "st=%%st%% %%i"
md %st%&pause
这个代码能帮忙解释下吗?
for /l %%i in (1,1,20) do call set "st=%%st%% %%i"
作者: cryfordog 时间: 2009-11-10 00:14
@echo off
for /l %%i in (1,1,20) do md %%i
pause
作者: nerfg002 时间: 2009-11-10 09:28
@echo off
set i=1
:md
if i=21 goto :eof
md %i%
set i+=1
goto md
作者: zgq0301 时间: 2009-11-12 15:45
- @echo off
- for /l %%i in (1,1,20) do (
- md %%i)
- pause>nul
复制代码
作者: x576380361 时间: 2009-12-6 14:44
- @echo off
- for /l %%i in (1 1 20) do md %%i
- pause>nul
复制代码
作者: lvyaojian 时间: 2009-12-13 22:19
- @echo off
- for /l %%i in (1,1,20) do md %%i
- pause
复制代码
作者: Kenmick 时间: 2010-1-20 15:29 标题: 新手练习下额~~~
- @echo off
- for /l %%i in (1 1 20) do rd %%i
复制代码
作者: Kenmick 时间: 2010-1-20 15:31 标题: - -b 打错了
- @echo off
- for /l %%i in (1 1 20) do md %%i
复制代码
刚运行完创建 就用rd把文件夹删了
结果把rd的命令发上来了 - -b
作者: kakaxia6337 时间: 2010-3-19 22:00
for /l %a in (1,1,20) do md %a
作者: jjiank 时间: 2010-3-22 11:06 标题: 我想把上述新建的文件批量删除,用相同方法却删不掉
@echo off
for /l %%i in (1 1 20) do ( rd %%i)
pause>nul
作者: jjiank 时间: 2010-3-22 11:11 标题: 回复 42楼 的帖子
搞定了,del 加上文件所在的路径再加变量 就能搞定
作者: 634175535 时间: 2010-4-25 19:50
@echo off
for /l %%i in (1 1 20) do (
md %%i
echo.成功创建文件夹%%i
ping -n 2 127.0>nul
)
作者: wangqi0077 时间: 2010-5-4 09:08 标题: 如题
@echo off
for %%i in (1,1,20) do md %i
pause
作者: lianjl 时间: 2010-5-4 15:50
我也来试一下:
for /l %%i ih (1 1 20) do (md %%i)
作者: sotary 时间: 2010-5-4 16:23
- @echo off
- for /l %%a in (1,1,20) do md %%a
- @echo on
复制代码
作者: mangci 时间: 2010-5-7 01:35
- @ echo
- for /l %%i in (1,1,20) do md %%i
- pause
复制代码
作者: middlelaw 时间: 2010-5-11 18:42
@echo off
for /l %%i in (1,1,20) do md %%i
作者: mgy24 时间: 2010-6-22 19:58
for /l %%i in (1,1,20) do md %%i
作者: wc726842270 时间: 2010-6-24 21:58
@echo off
for /l %%q in (1 1 20) do md %%q&&echo ok
pause
作者: poxi 时间: 2010-7-19 13:02
答:
- @echo off
- for /l %%i in (1,1,20) do (
- md %%i
- echo 正在创建...第%%i个
- )
- pause
复制代码
效果:
[attach]2732[/attach]
===============
end;
作者: solid 时间: 2010-7-27 21:30
for /l %%a in ( 1 1 20 ) do md %%a
作者: rogue_1983 时间: 2010-7-29 22:38 标题: 这样行吧
@echo off
for /l %%i in (0 1 20) do (md %%i&move %%i 包括20个文件夹)
pause
作者: rogue_1983 时间: 2010-7-29 23:02 标题: 这个
@echo off
:top
set /a var+=1
md %var%
if %var% lss 21 (goto:top)
pause
作者: zcydez 时间: 2010-7-30 14:02
- setlocal EnableDelayedExpansion
- for /l %%i in (20 -1 1) do (set wjj=!wjj! %%i)
- md %wjj%
- ::还有一种
- set ci=1
- :a
- md %ci%
- if %ci%==20 exit
复制代码
作者: fish 时间: 2010-8-7 23:14 标题: 我又把问题想复杂了。。。
- set /a i+=1
- md %i%
- if %i%==20 exit
- call %0
复制代码
作者: hhzjxss 时间: 2010-11-29 20:38
谢谢分享,下载学习了!
作者: vincentzhou 时间: 2010-12-5 13:24
- @echo off
- for /l %%i in (1,1,20) do md %%i
复制代码
作者: pengyimin1988 时间: 2010-12-8 16:58
md 1
md 2
md 3
md 4
md 5
md 6
md 7
md 8
md 9
md 10
md 12
md 13
md 14
md 15
md 16
md 17
md 18
md 19
md 20
这是一个反面教材
像我这样的SB就会用
[ 本帖最后由 pengyimin1988 于 2010-12-8 17:00 编辑 ]
作者: battab 时间: 2014-2-19 17:42
本帖最后由 battab 于 2014-2-19 17:44 编辑
回复 21# kevinpeng
目录多了这样做把20改大就可以了,感觉多此一举了- @echo off
- for /l %%i in (1,1,20) do set/p=%%i;<nul>>tmp.txt
- for /f "tokens=* delims=" %%i in (tmp.txt) do md %%i
- del /s /q tmp.txt
- pause
复制代码
作者: sbjugt 时间: 2014-3-7 17:52
@echo off
set /a a=1
:begin
md %a%
set /a a=%a%+1
if %a% lss 21 goto :begin
echo 完成
pause
作者: zh_1452 时间: 2014-6-22 13:21
- @echo off
- cd..\..
- cd /d e:\.
- for /l %%i in (1 1 20 ) do md %%i
- pause
- cd..\..
- cd /d e:\.
- for /l %%i in (1 1 20 ) do rd %%i
- pause
- @echo off
- cd..\..
- cd /d e:\.
- md 1
- md 2
- md 3
- md 4
- md 5
- md 6
- md 7
- md 8
- md 9
- md 10
- md 12
- md 13
- md 14
- md 15
- md 16
- md 17
- md 18
- md 19
- md 20
- pause
复制代码
作者: redwolf100 时间: 2014-6-25 11:31
回复 63# zh_1452
for /l %%a in (1 1 20) do md e:\%%a
这样简单点不好么?
作者: zh_1452 时间: 2014-6-25 20:21
回复 64# redwolf100 - @echo off
- echo 大家好,我是服部半藏,请多指教!
- pause
复制代码
作者: daxin2014 时间: 2014-7-17 20:29
@echo off
:: 创建名字为1-20的20个连续的文件夹
for /l %%a in (1,1,20) do md %%a
pause>nul
成长之路从这里开始
作者: shelluserwlb 时间: 2014-11-8 15:13
本帖最后由 shelluserwlb 于 2014-11-8 15:16 编辑
题目很简单,思来想去也就这几种方法了。
很多常用的方法已被楼上的朋友抢先做了,我也凑一份。- echo off
- set folder=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
- for %%i in (%foldr%) do md %%i>nul 2>nul
复制代码
作者: impk 时间: 2019-9-1 11:24
- @echo off
- for /l %%i in (1,1,20) do md %%i
- pause
复制代码
作者: 唯尘 时间: 2022-10-25 15:41
@echo off
for /l %%i in (1,1,20) do (
md %%i
)
pause
作者: 5i365 时间: 2022-10-25 15:54
PS
复制代码
作者: 772074834 时间: 2023-5-4 19:17
@echo off
for /l %%i in (1,1,20) do mkdir %%i
pause
作者: 772074834 时间: 2023-5-4 19:27
@echo off
set /a num=1
:makeDir
if %num% lss 21 (
md %num%
set /a num+=1
echo %num%
goto makeDir
)
pause
作者: LTSC1809 时间: 2023-5-10 10:11
for循环能做的goto循环都能做,只是可能麻烦点而已- @echo off
- set b=0
- :a
- set /a b=b+1
- md %b%
- if %b% equ 20=exit
- goto a
复制代码
作者: 唯尘 时间: 2024-1-10 17:08
@echo off
for /l %%i in (1 1 20) do (@md %%i)
pause>nul
rem 已1为步长创建文件夹
@echo off
:a
set /a n+=1
md %n%
if %n% lss 20 goto a
pause>nul & exit
rem 循环判断自增值 创建文件夹
@echo off
set "str="
for /l %%i in (1 1 20) do call set str=%%str%% %%i
md %str% && pause>nul & exit
rem 步长为1自增至20 连接成长字符串,然后按字符串一次创建20个文件夹
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |