中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 12:23
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]怎么把整个文本的内容赋值给变量?
可打印版本  2,154 / 4
第1楼 ajian 发表于 2010-12-30 11:32
初级用户 发帖 38 积分 38
[求助]怎么把整个文本的内容赋值给变量?
文本中有多行,如何做到?
第2楼 liion631818 发表于 2010-12-31 16:40
新手上路 发帖 11 积分 13 来自 上海
@echo off
set a=
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (3.txt) do (
set a=!a!%%i
)
echo !a!
pause

这个脚本有问题的地方:
1、换行符被去掉了
2、文件中的感叹号会被去掉
第3楼 Hanyeguxing 发表于 2011-01-02 15:30
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
不推荐将整个文本的内容都赋给一个变量,因为最大单个环境变量大小为 8192 字节。
第4楼 ajian 发表于 2011-01-04 00:50
初级用户 发帖 38 积分 38
我需要的不会很大,关键是不是可以这样做?我想包含换行的。
第5楼 liion631818 发表于 2011-01-19 14:22
新手上路 发帖 11 积分 13 来自 上海
你可以在取到一行的内容后手动加上CRLF
比如: set a=!a!CRLF%%i
其中CRLF,你可以通过右alt键加CR和LF对应的ASCII码
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023