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

[系统相关] 批处理命令set 如何查看指定变量?

如上图我想仅查看 test_1 变量,却显示了 test_1 和 test_10,请问没有办法只显示 test_1?

万分感谢。
欢迎与我交流,共同进步,提升技术。

回复 1# verbs


set命令的特性决定了它无法像你希望的那样工作:
SET command invoked with just a variable name, no equal sign or value
will display the value of all variables whose prefix matches the name
given to the SET command.  For example:
    SET P
would display all variables that begin with the letter 'P'


有什么特别的原因必须要用set而不能用echo吗:
  1. echo %test_1%
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 verbs 于 2020-2-27 13:32 编辑

感谢大神指点,
我希望根据变量名不同,取到不是的变量值,所以不无法直接使用 echo

测试脚本如下:
  1. @echo off
  2. set index=1
  3. :loop_get_value
  4. set test=test_%index%
  5. set | findstr /i /b "\<%test%\>">nul || goto parameters_error
  6. for /f "usebackq delims== tokens=2" %%i in (`set %test%`) do (
  7. echo %%i
  8. )
  9. set /a index+=1
  10. goto loop_get_value
  11. :parameters_error
  12. echo 参数不存在
  13. pause
  14. goto lable_exit
  15. :lable_exit
复制代码
有没有其它办法,可以实现类似效果,感谢指点
欢迎与我交流,共同进步,提升技术。

TOP

回复 3# verbs


不知道这个代码是想表达什么意图
但是执行到第5行的时候肯定会 goto parameters_error
第6行永远不会被执行到
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher


是的这段代码没有实际意义,主是要实现取的变量的变量值(....>o<....   有点绕)

第五行,不是肯定执行到 goto parameters_erro, 当前的表达式为真时不会执 || 后面的表达式

所以的第六行可以被执行到
欢迎与我交流,共同进步,提升技术。

TOP

本帖最后由 zaqmlp 于 2020-2-27 14:02 编辑

开延迟就行了,判断存不存在可用define
  1. set a=1
  2. set b_1=2
  3. call echo;%%b_%a%%%
  4. setlocal enabledelayedexpansion
  5. echo;!b_%a%!
  6. pause
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 5# verbs


有几个变量嵌套的例子可以参考一下
http://bbs.bathome.net/thread-2899-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# Batcher


    非常感谢,学习了。
欢迎与我交流,共同进步,提升技术。

TOP

返回列表