中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-08 02:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何实现linux下的eval功能 查看 779 回复 3
楼 主 如何实现linux下的eval功能 发表于 2008-02-28 21:19 ·  中国 辽宁 大连 联通
初级用户
积分 22
发帖 7
注册 2008-02-28 20:38
18年会员
UID 111665
性别 男
状态 离线
比如说我先 set bbb=d:\1.txt
d:1.txt中保存的有一行字符串
我现在想实现的是 set AAA=type %bbb%
就是说我想把AAA变量的值设置成d:1.txt中内容
这在linux中只需要 eval $AAA = 'cat $bbb' 就可以了
请问如何实现
现在能想到且能实现的方法为
for /f "delims==" %%a in (%bbb%) do set AAA= %%a
但是请问有想eval一样方便的方法吗?
2 发表于 2008-02-28 21:34 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
@echo off
set bbb=d:\1.txt
set /p aaa=<%bbb%
echo %aaa%
pause


这样??
3 发表于 2008-02-28 21:40 ·  中国 辽宁 大连 联通
初级用户
积分 22
发帖 7
注册 2008-02-28 20:38
18年会员
UID 111665
性别 男
状态 离线
恩,好用,非常感谢!
不过请问/p代表什么意思阿?
我看帮助说/p代表字符表达式 /a 表示数字表达式
为什么不加上/p就不可以呢?难道默认是/a?

[ Last edited by songxin9527 on 2008-2-28 at 09:45 PM ]
4 发表于 2008-02-28 21:49 ·  中国 北京 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
自己试试
set /p asd=msg
echo %ASD%
pause
论坛跳转: