中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 12:17
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎么把整个文本的内容赋值给变量? 查看 2,000 回复 4
楼 主 [求助]怎么把整个文本的内容赋值给变量? 发表于 2010-12-30 11:32 ·  中国 福建 泉州 电信
初级用户
积分 38
发帖 38
注册 2010-11-17 22:11
15年会员
UID 177740
性别 男
状态 离线
文本中有多行,如何做到?
2 发表于 2010-12-31 16:40 ·  中国 上海 联通
新手上路
积分 13
发帖 11
注册 2010-08-24 11:36
15年会员
UID 172893
性别 男
来自 上海
状态 离线
@echo off
set a=
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (3.txt) do (
set a=!a!%%i
)
echo !a!
pause

这个脚本有问题的地方:
1、换行符被去掉了
2、文件中的感叹号会被去掉
3 发表于 2011-01-02 15:30 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
不推荐将整个文本的内容都赋给一个变量,因为最大单个环境变量大小为 8192 字节。
4 发表于 2011-01-04 00:50 ·  中国 福建 泉州 电信
初级用户
积分 38
发帖 38
注册 2010-11-17 22:11
15年会员
UID 177740
性别 男
状态 离线
我需要的不会很大,关键是不是可以这样做?我想包含换行的。
5 发表于 2011-01-19 14:22 ·  中国 上海 联通
新手上路
积分 13
发帖 11
注册 2010-08-24 11:36
15年会员
UID 172893
性别 男
来自 上海
状态 离线
你可以在取到一行的内容后手动加上CRLF
比如: set a=!a!CRLF%%i
其中CRLF,你可以通过右alt键加CR和LF对应的ASCII码
论坛跳转: