Board logo

标题: [文本处理] BAT如何做这样的处理:显示指定范围的数字? [打印本页]

作者: netdzb    时间: 2019-6-3 08:41     标题: BAT如何做这样的处理:显示指定范围的数字?

用批处理实现echo 显示185001,185002,185003,一直显示到185500
作者: miqilaosu    时间: 2019-6-3 09:29

本帖最后由 miqilaosu 于 2019-6-3 10:53 编辑

你自己查下FOR的基础用法
for /l %i in  (185001,1,185500) do echo %i
作者: Batcher    时间: 2019-6-3 09:41

  1. @echo off
  2. for /l %%i in (185001,1,185500) do (
  3.     echo %%i
  4. )
  5. pause
复制代码

作者: netdzb    时间: 2019-6-3 09:51

回复 2# miqilaosu

假设要显示abc000,abc001,abc002一直显示到abc500该怎么写?
作者: miqilaosu    时间: 2019-6-3 10:51

本帖最后由 miqilaosu 于 2019-6-3 10:57 编辑

回复 4# netdzb


    for /l %i in  (001,1,500) do echo abc%i

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
就是文本组合变量,因为没有空格和特殊字符所以我直接写的
如果写成bat文件:
@echo off
for /l %%i in (001,1,500) do (
    echo abc%%i
)
pause
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
因为abc不是命令代码也不是变量,变量调用是%变量%、FOR里的变量%%变量
作者: Batcher    时间: 2019-6-3 12:26

回复 5# miqilaosu


你的代码没有测试吧?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1001,1,1500) do (
  4.     set n=%%i
  5.     echo abc!n:~-3!
  6. )
  7. pause
复制代码

作者: miqilaosu    时间: 2019-6-3 13:12

回复 6# Batcher


    测试时超过1屏了,看不到前边,忘了前边零不显示了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2