标题: 【挑战】批处理如何获取冒号开头变量名的值 [打印本页]
作者: plp626 时间: 2012-4-13 15:33 标题: 【挑战】批处理如何获取冒号开头变量名的值
没有挑战的意思;只是问题难度太大,怕是不好解决;
--------------------------------------------------------
我想这类变量名非传统方法可访问,自有其特殊用途;
目前除了set : 这样列出:开头的变量名列表外,好像没办法了复制代码
求 用%%, 或者!! 显示:var 变量值的方法
作者: plp626 时间: 2012-4-13 15:50
细想之,恐怕无解;
这个~,=,这类特殊字符的替换,一个难度;
作者: neorobin 时间: 2012-4-13 16:03
本帖最后由 neorobin 于 2012-4-13 16:05 编辑
- for /f "tokens=1* delims==" %%a in ('set :^|findstr /i "^:var"') do if /i "%%a"==":var" echo %%b
复制代码
作者: plp626 时间: 2012-4-13 16:09
本帖最后由 plp626 于 2012-4-13 16:12 编辑
回复 3# neorobin - cmd/v
- set $0a=^
-
-
- set :var=!$0a!123456
- set :
- echo ----------------------
- set :var|findstr /ib :var
复制代码
作者: neorobin 时间: 2012-4-13 16:12
回复 3# neorobin
用了 if , findstr 没必要- for /f "tokens=1* delims==" %%a in ('set :') do if /i "%%a"==":var" echo %%b
复制代码
作者: fatcat 时间: 2012-4-13 16:20
回复 4# plp626
这样还得挑战了
作者: applba 时间: 2012-4-24 23:07
想了一下,这类东西不切实际哇,使用时尽量回避
作者: Taurus 时间: 2012-5-7 04:20
路過- @echo off
- set :var=123456
- set/a n=:var
- echo %n%
- pause
复制代码
作者: Demon 时间: 2012-7-23 21:03
是么- @echo off
- set :var=123456
- setlocal disableextensions
- echo %:var%
- pause
复制代码
作者: 乱码 时间: 2012-7-23 21:24
回复 9# Demon
Demon 大哥果然牛人、
有句话说的好啊,多学一点知识,少写几行代码、
作者: CrLf 时间: 2012-7-24 10:28
回复 9# Demon
哈哈,好办法,关闭命令扩展从本质上避免了错误解析,一直觉得它是鸡肋,原来可以用在这里
作者: plp626 时间: 2012-7-24 13:17
趁这个机会把特殊字符替换研究研究,也许是个突破口。。。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |