中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-01 07:37
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 为什么在XP里可以,在DOS里不可以? 查看 850 回复 2
楼 主 为什么在XP里可以,在DOS里不可以? 发表于 2007-04-29 10:29 ·  中国 江苏 苏州 电信
新手上路
积分 6
发帖 2
注册 2007-04-29 09:36
19年会员
UID 86879
性别 男
状态 离线
我编个程序
SET VAR=1234567
ECHO %VAR:~0,4% > T.TXT
在XP里可以把1234写到T.TXT里面去
可是到了DOS怎么就不能输出呢?
还有能不能把t.txt里面的1234指定为%1呢?
就像这样 set <t.txt>=1%
(表达方式错误,可是我是想来用来说明)
2 发表于 2007-04-29 21:13 ·  中国 江苏 苏州 联通
新手上路
积分 6
发帖 2
注册 2007-04-29 09:36
19年会员
UID 86879
性别 男
状态 离线
敬请请指教....
3 发表于 2007-04-30 00:06 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线
Re orlando:

xp的命令提示符是DOS命令行的扩展,功能加强了不少,所以在xp命令提示符下能完成的扩展,比如你上面的字符串截取,在DOS下是不具备这种用法的,所以你写入失败。

关于你要指定t.txt里面的内容为%1,如果是在xp下,可以用for提取出来,然后赋值给一个变量,用变量当作%1,例如:

for /f "delims=" %%a in (t.txt) do set str=%%a
start notepad %str%

如果在DOS下面,我没有测试环境,不敢妄自猜测。
论坛跳转: