找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32941|回复: 10

[数值计算] 批处理命令echo怎样显示变量中变量名的值?

[复制链接]
发表于 2014-12-5 15:33:51 | 显示全部楼层 |阅读模式
  1. @ECHO OFF
  2. set a=0
  3. :kaishi
  4. set b=s%a%
  5. set s0=000000
  6. set s1=111111
  7. `
  8. `
  9. `
  10. set s9=999999


  11. echo %b%
  12. set /a a=%a%+1
  13. if %a% GTR 9 (goto kaishi) else (exit)
复制代码
我这里希望得到的结果是echo显示变量s0的值,请问怎么表达啊?
发表于 2014-12-5 22:13:47 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set s0=000000
  4. set a=0
  5. set b=s%a%
  6. call echo %%!b!%%
  7. pause
复制代码
发表于 2014-12-6 09:52:30 | 显示全部楼层
@ECHO OFF
setlocal enabledelayedexpansion
set a=0
:kaishi
set b=s%a%
set s0=000000
set s1=111111
`
`
`
set s9=999999


echo !b!
set /a a=%a%+1
if %a% leq 9 (goto kaishi) else (exit)
发表于 2014-12-6 10:26:09 | 显示全部楼层
@echo off
set s0=000000
set s1=111111
set a=0
:start
set b=s%a%
set /a a+=1
call echo %%%b%%%
if %a% lss 2 goto startpause
不用延迟变量,计这样也行。
发表于 2014-12-6 10:42:11 | 显示全部楼层
回复 3# yiwuyun
  1. @ECHO OFF
  2. setlocal enabledelayedexpansion
  3. set a=0
  4. :kaishi
  5. set b=s%a%
  6. set s0=000000
  7. set s1=111111
  8. echo !b!
复制代码
我用你这个代码测试的时候,输出的结果是s0,而不是楼主希望的000000
发表于 2014-12-6 12:31:01 | 显示全部楼层
嗯,我弄错了。应把set b=s%a%  改成b=!s%a%!
 楼主| 发表于 2014-12-18 09:43:31 | 显示全部楼层
回复 2# DAIC

我复制你的代码在我这里运行,结果提示:

[SC] EnumQueryServicesStatus:OpenService 失败 1060:
指定的服务未安装。
此时不应有 1>。

这是为什么?
发表于 2014-12-18 10:33:26 | 显示全部楼层
回复 7# 437153


    可能是你复制错了吧,2楼的代码里面没有sc命令。
 楼主| 发表于 2014-12-19 15:54:19 | 显示全部楼层
本帖最后由 437153 于 2014-12-19 16:05 编辑

回复 8# DAIC


    不好意思,真的是我复制错误了。
不过还有一个问题,这样只能采用call调用吗? 好像我试了在别的命令中无法试用,比如s0=192.168.1.1 ping %%!b!%% 运行结果不对。 一定要在ping的前面加上call 才行
发表于 2014-12-19 16:17:04 | 显示全部楼层
回复 9# 437153
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set s0=192.168.1.1
  4. set a=0
  5. set b=s%a%
  6. call set n=%%!b!%%
  7. ping %n%
  8. pause
复制代码
 楼主| 发表于 2014-12-22 14:22:00 | 显示全部楼层
回复 10# DAIC


    多谢了。又学会一招,还挺实用的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 01:19 , Processed in 0.018785 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表