- 积分
- 274
- 最后登录
- 2024-3-22
- 精华
- 0
- 阅读权限
- 30
- 主题
- 43
- UID
- 590870
- 帖子
- 685
- PB币
- 4749
- 威望
- 0
- 贡献
- 0
- 技术
- 39
- 活跃
- 1396
五星老土
- UID
- 590870
- 帖子
- 685
- PB币
- 4749
- 贡献
- 0
- 技术
- 39
- 活跃
- 1396
|
板凳
发表于 2021-4-25 09:00:50
IP属地江苏
|只看该作者
本帖最后由 quya 于 2021-4-25 09:18 编辑
因为 call echo %%%b%%% 是运行结果,不是变量,当然不能赋值。
更简单的例子,echo yes 显示 yes, 但是写成 if echo yes == yes 是错误的
不清楚你为什么要这样编写的目的, 所以只能指出错误, 无法给出建议。
-------------------------------------------------------------------------
当然,将运行结果赋值给变量也不是不可以,但比较复杂,如果你执于这样做, 也不是没办法
1. 先将运行结果写入到文件,比如 call echo %%%b%%% >test.txt, 再赋值 set /p 变量=<test.txt
2. for 命令, 在do 语句中赋值, 比如下面例子就是把查询注册表“我的文档”的路径赋值给mydocuments变量
- for /f "tokens=2,*" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal"') do (
- set mydocuments=%%j
- )
复制代码
鉴于你的嵌套变量,for语句转义比较难处理,我也懒得去想了,感兴趣得话, 自己摸索去罢。
|
|