批处理之家's Archiver

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

[color=blue]
───────────────── 版主回复 ─────────────────
执行:wxcute [2009-07-28]
回复:%%a 与 /l 的位置倒了哦!
───────────────── 版主回复 ─────────────────[/color]

梦想种子 发表于 2008-3-30 00:41

for最简便。再来一种典型:[code]:a
@set/a c+=1
@md %c%
@if %c% lss 20 goto a[/code]

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也可以这样用[code]@echo off
set "st="
for /l %%i in (1,1,20) do call set "st=%%st%% %%i"
md %st%&pause[/code]

wangshuping42 发表于 2009-5-9 13:33

[quote]原帖由 [i]awuxixi[/i] 于 2008-1-23 10:59 发表 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=2102&ptid=466][img]http://www.bathome.net/images/common/back.gif[/img][/url]
for /l %%d in (1,1,20) do md %%d

for 用于文件处理。。。for 的L开关我暂时的理解是根据(括号里)的数字进行循环操作。。 [/quote]

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

这个较简单多多指教:[code]
@echo  off
for /l %%i in (1 1 20) do md %%i\
pause>nul[/code]

[[i] 本帖最后由 hs4814 于 2009-8-9 21:43 编辑 [/i]]

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太容易想到了,没什么特别的![code] md 1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20[/code]

[[i] 本帖最后由 kevinpeng 于 2009-8-15 16:23 编辑 [/i]]

atsivsucks 发表于 2009-8-19 09:14

[code]        @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[/code]

[[i] 本帖最后由 atsivsucks 于 2009-8-19 09:15 编辑 [/i]]

couth 发表于 2009-8-19 12:25

这个简单:就一句话。
[quote]
for /l %%i in (1,1,20) do md %%i
[/quote]

dominater 发表于 2009-10-14 18:28

[code]@echo off
for /l %%i in (1 1 20) do md %%i
pause[/code]

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

[quote]原帖由 [i]inittab[/i] 于 2009-5-9 00:05 发表 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=28731&ptid=466][img]http://bbs.bathome.net/images/common/back.gif[/img][/url]
md也可以这样用@echo off
set "st="
for /l %%i in (1,1,20) do call set "st=%%st%% %%i"
md %st%&pause [/quote]

啊====
看了好久才看懂,手法高哇===
利用 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

页: [1] 2 3

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.