[习题]批处理创建名字为1-20连续的20个文件夹
要求:当前目录下,创建文件夹名字分别为1~20的20个连续的文件夹. for /l %%d in (1,1,20) do md %%d
for 用于文件处理。。。for 的L开关我暂时的理解是根据(括号里)的数字进行循环操作。。 正确。! @echo off
for /l %%i in (1,1,20) do md %%i
pause for %%a /l in (1,1,20) do md c:\%%a
[color=blue]
───────────────── 版主回复 ─────────────────
执行:wxcute [2009-07-28]
回复:%%a 与 /l 的位置倒了哦!
───────────────── 版主回复 ─────────────────[/color]
for最简便。再来一种典型:[code]:a
@set/a c+=1
@md %c%
@if %c% lss 20 goto a[/code] for /l %%i in (1 1 20) do (md %%i)
我的
for /l %%i in (1,1,20) do md %%i @echo offfor /l %%f in (1 1 20) do md %%f
pause>nul @echo off
for /l %%i in (1,1,20) do md %%i
pause>nul 这个就用for 和md就可以了! md也可以这样用[code]@echo off
set "st="
for /l %%i in (1,1,20) do call set "st=%%st%% %%i"
md %st%&pause[/code] [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)。 看大家的都差不多,我的
@echo off
for /l %%i in (20,-1,1) do md %%i for /l %%i in (1,1,20) do (
echo.<nul>%%i
) 看错了,应为
for /l %%i in (1,1,20) do (
md %%i
) @echo off
for /l %%i in (1,1,20) do md %%i
pause 唔错...又学到一堂课了 这个较简单多多指教:[code]
@echo off
for /l %%i in (1 1 20) do md %%i\
pause>nul[/code]
[[i] 本帖最后由 hs4814 于 2009-8-9 21:43 编辑 [/i]] @echo off
for /l %%iin (1,1,20) do md %%i
pause 直接这样就行了,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]] [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]] 这个简单:就一句话。
[quote]
for /l %%i in (1,1,20) do md %%i
[/quote] [code]@echo off
for /l %%i in (1 1 20) do md %%i
pause[/code] @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 [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 。。。。。 for /l %a in (1 1 20) do md %a
怎么大家都喜欢用2个%?
回复 28楼 的帖子
用两个%%是因为在批处理文件中的使用方法,如果单纯在CMD下,直接执行命令你的写法,就可以。 如下,因该对了吧@echo
for /l %%i in (1,1,20) do md %%i
pause 只会最笨的方法。。
@echo off
for /l %%i (1 1 20 ) do md %%i
pause>nul