[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

回复 28楼 的帖子

大概是屏幕窗口限制!因为从1到100就是完整的

TOP

  1. @echo off
  2. for /l %%i in (1,1,999) do (
  3. if %%i leq 9 (echo 00%%i>>a.txt) else (if %%i leq 99 (echo 0%%i>>a.txt) else (echo %%i>>a.txt)))
  4. pause
复制代码
大众化的心理变态者

TOP

回复 1楼 的帖子

  1. @echo off&cls
  2. for /l %%i in (0,1,9) do (
  3.     for /l %%j in (0,1,9) do (
  4.         for /l %%k in (0,1,9) do (
  5.             if %%i%%j%%k neq 000  echo.%%i%%j%%k
  6.             ping -n 2 127.1>nul
  7.             cls
  8.         )
  9.     )
  10. )
  11. pause>nul
复制代码

TOP

大家帮我看看这个是什么意思

@echo off
for /l %%i in (1 1 12) do (
   for /l %%j in (1 1 10) do (
      
  ping /n 1 192.168.%%i.%%j
    )
  )

pause>nul
1

评分人数

TOP

set str=%!str!:~-3% 换成
set str=!str:~-3! 看看

TOP

各位高手给点建议:
我的代码是:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (1,1,100) do (
  3.     set str=%%a
  4.     set str=00!str!
  5.     set str=%!str!:~-3%
  6.     echo %!str!%)
  7. pause
复制代码
我的代码这句set str=%!str!:~-3%,我发现我无法截取

TOP

不知道 题目要求的是随机产生一个三位以内的数字还是 1-999 逐个产生
如果是 随即产生 可以用 SET /A R=%RANDOM:~0,3%
如果逐一产生,可以用FOR /L

利用 SETLOCAL ENABLEDELAYEDEXPANSION 实现FOR循环内部的变量设置。


@ECHO OFF
FOR /L %%C IN (1,1,999) DO (
SETLOCAL ENABLEDELAYEDEXPANSION
SET /A X=%%C >NUL
IF %%C LSS 100 SET X=0!X! >NUL
IF %%C LSS 10 SET X=0!X! >NUL
ECHO !X!
ENDLOCAL
)
:END

[ 本帖最后由 DXSX 于 2009-8-25 22:23 编辑 ]

TOP

哎,38楼竟然有人写了!!老版快出题目,我要第一个给出答案!

TOP

笨办法总是有效的,看看这个:
  1. @echo off
  2. for /l %%a in (1,1,9) do echo 00%%a
  3. for /l %%b in (10,1,99) do echo 0%%b
  4. for /l %%c in (100,1,999) do echo %%c
  5. pause
复制代码

TOP

@echo off
setlocal enabledelayedexpansion
(for /l %%i in (1001 1 1999) do set avr=%%i&echo !avr:~-3!)>1.txt
pause>nul

TOP

看到还有"000"这样的问题,所以再修一下
  1. @echo off
  2. for /l %%i in (0 1 9) do (
  3.      for /l %%j in (0 1 9) do (
  4.          for /l %%k in (0 1 9) do (
  5.          if %%i%%j%%k==000 (echo %%i%%j%%k>nul) else echo %%i%%j%%k)
  6.          )
  7.          )
  8. pause>nul
复制代码

[ 本帖最后由 nopr 于 2009-8-5 18:31 编辑 ]
1

评分人数

TOP

如果要生成01-100个文件夹可以不?

TOP

我用的ctrl+a直接全部显示的。

TOP

各有千秋.......

TOP

原帖由 sjzong 于 2009-5-9 00:03 发表
9楼 24楼 25楼的代码会产生000这个数,跟题意出入!只要把最后一个for的(0 1 9)改成(1 1 9)即可
2楼也会产生000这个数,只要把1000改成1001即可。



误解!!!!

如果那样的话会使个位数没有0,比如:
.....
009
这里缺了010
011
.....
109
这里缺了110
111
1

评分人数

    • sjzong: 谢谢指正,我已经修改回复贴了!!PB + 2

TOP

返回列表