批处理之家's Archiver

novaa 发表于 2008-1-7 19:19

批处理产生001到999之间的数字

如下
001
002
003
...
999

novaa 发表于 2008-1-7 19:23

[color=white][code]
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1001 1 1999) do (
set var=%%i
echo !var:~1!>>aaa.txt
)
pause


[/code][/color]

[[i] 本帖最后由 wxcute 于 2009-5-10 10:26 编辑 [/i]]

随风 发表于 2008-1-7 19:28

[color=red]代码内容,设置的颜色为white,防止答案轻易泄露[/color][color=blue]
显示方法 1:按住鼠标左键,框住代码即可。
显示方法 2:点击代码右上角的“复制内容到剪贴板”也可。[/color][color=white]
方法一、[code]@echo off
set var=1000
:loop
set /a var+=1
echo %var:~-3%
if %var% neq 1999 goto loop
pause[/code]方法二、[code]@echo off
for /l %%i in (1001 1 1999) do (
  set var=%%i
  call echo %%var:~-3%%
)
pause[/code][/color][color=red]高亮(反选)显示代码[/color]

[[i] 本帖最后由 随风 于 2008-1-7 20:06 编辑 [/i]]

youxi01 发表于 2008-1-7 19:29

这个代码隐藏方法好啊
不过,最好在前面提示 一下 新手通过怎么样的方式显示 那些代码,呵呵,人性化一点

novaa 发表于 2008-1-7 19:40

点击右上角的   复制内容到剪贴板代码: 就可以看到代码了
呵呵。

h0037126 发表于 2008-4-1 08:59

学习!! 看不懂,希望再出新的教材和习题,支持!!

pengyou86 发表于 2008-8-6 08:34

谢谢,正需要这个代码的

onebat 发表于 2008-8-8 00:50

为什么我的显示从701开始...

wangwei4106 发表于 2008-9-1 19:03

我要感谢斑竹他们!
呵呵
我又来了![code]@echo off
for /l %%i in (0 1 9) do (
   for /l %%j in (0 1 9) do (
      for /l %%k in (0 1 9) do (
  set/p=%%i%%j%%k <nul
    )
  )
)
pause>nul[/code]

z_berry 发表于 2008-9-2 16:57

这个不会唉

itrui 发表于 2008-9-2 18:00

所有帖子都要回帖才能看吗,怎么搞的。论坛改革了?

jellyhk 发表于 2008-9-3 21:43

for

for命令不是能么。
<code>
for -l %%i in (001 001 200) do echo %%i
pause
</code>

wxcute 发表于 2008-9-15 20:10

[code]@echo off
cd.>num.txt
for /l %%n in (1001,1,1999) do (
 call :num n %%n
)
start num.txt
goto :eof
:num
 set %1=%2
 echo %n:~-3%>>num.txt[/code]两个差不多[code]@echo off
cd.>num.txt
for /l %%n in (1,1,999) do (
 call :num n %%n
)
start num.txt
goto :eof
:num
 set %1=00%2
 echo %n:~-3%>>num.txt[/code]

lhzyzs 发表于 2008-10-18 18:52

回复 3楼 的帖子

-3是什么意思呀 哎 不明白呀

xiehoujiangnan 发表于 2008-10-25 14:37

学习中

我是新手,来这里学习的。看了几贴,学习了

firewolf85 发表于 2008-12-6 13:55

[code]@echo off
set /a num=%random%%%999+1
if %num% lss 100 goto s
echo %num%
goto out
:s
if %num% lss 10 goto ss
echo 0%num%
goto out
:ss
echo 00%num%
:out
pause>nul[/code]

firewolf85 发表于 2008-12-6 14:00

请教[code]echo %%var:~-3%%[/code]中的:~-3怎么讲,是否是显示为3位?

hidden 发表于 2009-1-12 23:15

@echo off
for /l %%f in (001 1 999) do echo %%f
pause>nul

p05401144 发表于 2009-1-14 10:36

@echo off
for /l %%i in (0,1,9) do (
for /l %%j in (0,1,9) do (
for /l %%k in (1,1,9) do (echo %%i%%j%%k)
)
)
pause

honey 发表于 2009-1-15 12:43

[quote]原帖由 [i]随风[/i] 于 2008-1-7 19:28 发表 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=1689&ptid=520][img]http://bbs.bathome.net/images/common/back.gif[/img][/url]
代码内容,设置的颜色为white,防止答案轻易泄露
显示方法 1:按住鼠标左键,框住代码即可。
显示方法 2:点击代码右上角的“复制内容到剪贴板”也可。
方法一、@echo off
set var=1000
:loop
set /a var+=1
... [/quote]
其实选定就好了

skuny 发表于 2009-1-15 14:49

[code]@echo off
for /l %%i in (1,1,9) do echo 00%%i
pause
for /l %%i in (10,1,99) do echo 0%%i
pause
for /l %%i in (100,1,999) do echo %%i
pause[/code]

denev2004 发表于 2009-2-3 17:52

还是斑竹高手啊,我的方法太麻烦了

@echo off
setlocal enabledelayedexpansion
for /L %%i IN (1,1,999) DO (
if %%i LSS 10 (set var=00%%i) ELSE (
if %%i LSS 100 (set var=0%%i) ELSE (set var=%%i)
)
echo !var! >> rand.txt
)

kingerpk 发表于 2009-2-6 23:15

我来试试:[code]@echo off
for /l %%a in (001,1,999) do set /p=%%a < nul
pause[/code]

zhangenming 发表于 2009-2-7 16:49

@echo off
del 1.txt
for /l %%1 in (0,1,9) do (
for /l %%2 in (0,1,9) do (
for /l %%3 in (0,1,9) do (
echo %%1%%2%%3>>1.txt
)
)
)
start 1.txt

可以吧?

irresolute 发表于 2009-2-16 10:00

我来试下

[code]@echo off
for /l %%i in (0,1,9) do (
   for /l %%j in (0,1,9) do (
      for /l %%k in (0,1,9) do (
         set /p=%%i%%j%%k<nul
         echo.)))
pause>nul[/code]

aregui 发表于 2009-2-17 16:43

学习了,感觉不错

syl0o0o 发表于 2009-2-17 21:00

有没有更简单的题啊``我超级新手
看了教学贴后还是很困难啊``

TonyW 发表于 2009-2-22 12:30

非常不理解,希望楼主照顾一下新人,解说一下
还有,为什么一定要文本输出才能完整的显示出结果?
若不输出文本而直接echo的话却只能从中途开始显示至到999 ??
想不通!

sjzong 发表于 2009-5-8 23:59

我来试试

[code]@echo off&setlocal enabledelayedexpansion
for /l %%a in (1 1 999) do set b=00%%a&echo !b:~-3!
pause>nul[/code]

sjzong 发表于 2009-5-9 00:03

回复 2楼 9楼 24楼 25楼 的帖子

9楼 24楼 25楼的代码会产生000这个数,跟题意出入!只要把最后一个for的(0 1 9)改成(1 1 9)即可!
2楼也会产生000这个数,只要把1000改成1001即可。

看了后面一些网友的帖子,原来“只要把最后一个for的(0 1 9)改成(1 1 9)即可!”这样也是不行的!!

[[i] 本帖最后由 sjzong 于 2009-5-10 16:47 编辑 [/i]]

页: [1] 2 3 4 5

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