中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 02:06
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教:生成的文本的系统变量为何不被识别?【已结】
可打印版本  1,038 / 11
第1楼 Vampire 发表于 2007-06-15 20:45
初级用户 发帖 78 积分 176
请教:生成的文本的系统变量为何不被识别?【已结】


[ Last edited by Vampire on 2007-6-17 at 11:29 PM ]
第2楼 HAT 发表于 2007-06-15 20:57
版主 发帖 5,017 积分 9,023


[ Last edited by HAT on 2007-6-15 at 08:58 PM ]
第3楼 Vampire 发表于 2007-06-15 21:02
初级用户 发帖 78 积分 176
楼上,你的做法不行,将输出路径的%也注释掉根本找不着路径。那个不能改。
第4楼 slore 发表于 2007-06-15 21:31
铂金会员 发帖 2,478 积分 5,212
没有问题啊~测试也正常……
第5楼 Vampire 发表于 2007-06-16 00:03
初级用户 发帖 78 积分 176
当前用户启动项:%userprofile%\「开始」菜单\程序\启动

你说的是这个正常结果吗?结果不应该是这样的。因为%userprofile%是个系统变量,正常情况下正常设置下应该被解析成C:\document and settings\CURRENTUSER的,但是它就是个字符,你手动输入 echo %userprofile%\「开始」菜单\程序\启动显示出来的就是解析后的结果了。
不解。
第6楼 HAT 发表于 2007-06-16 01:31
版主 发帖 5,017 积分 9,023
明白楼主的意思了
测试通过:
第7楼 Vampire 发表于 2007-06-16 15:03
初级用户 发帖 78 积分 176
谢谢HAT兄的继续关注,不过可能你还是没明白我的意思,我不是想读取path.txt的路径,而是想读取里面所存注的用户启动项所在的路径,按照普通设置就应该是“%userprofile%\「开始」菜单\程序\启动”,我想的是如何将读取出的文本里面的%userprofile%直接给解析成当前用户文件所在路径,但在我给出的代码里面是不被解析的,楼上的%temp%虽给解析了,但却不是我要的路径。谢谢。
第8楼 Vampire 发表于 2007-06-17 15:02
初级用户 发帖 78 积分 176
还是没人想到原因吗?版主们请看看哈。。。
第9楼 zh159 发表于 2007-06-17 15:33
金牌会员 发帖 1,467 积分 3,687
path.txt里面格式是:“%userprofile%\「开始」菜单\程序\启动”???
第10楼 Vampire 发表于 2007-06-17 17:50
初级用户 发帖 78 积分 176
对,按常理,应该给解析才对啊。
第11楼 zh159 发表于 2007-06-17 22:13
金牌会员 发帖 1,467 积分 3,687
for直接读取txt内容,并不能直接把txt内的%userprofile%最为变量,改动一下:
for /f "tokens=*" %%i in (%temp%\path.txt) do call set user_startup=%%i

PS:开头已经有“@echo off”了,后面可以不用“@”
第12楼 Vampire 发表于 2007-06-17 23:30
初级用户 发帖 78 积分 176
谢谢楼上,问题解决,以后遇到问题如果不能以正常模式解决尝试用下call。下面为正常读取代码:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023