中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 21:42
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]for 命令如何正确执行有变量的命令[已完结]
可打印版本  1,177 / 8
第1楼 HUNRYBECKY 发表于 2007-01-03 05:29
银牌会员 发帖 442 积分 1,179
[求助]for 命令如何正确执行有变量的命令[已完结]
我想在BAT中执行REG EXPORT来备份注册表的某些项(这些项可能有可格等特殊符号),备份时我采用让用户在REGBAK.LST中自己定义要备份那些项,但是因为我备份的目录和文件名是不固定的,也就是说这个路径和备份名称我是在批处理中设置的变量,但是在REGBAK.LST引用变量后使用FOR命令调用却不当作变量处理.如批处理中WPATH定义路径变量,但只REGBAK.LST引用了这个WPATH变量,但执行时却不能解析这个变量,如何解决这个问题?不知道高手们是否遇到过这样的问题.
批处理中的内容:


REGBAK.LST中的内容:


[ Last edited by HUNRYBECKY on 2007-1-3 at 07:53 AM ]
第2楼 HUNRYBECKY 发表于 2007-01-03 05:35
银牌会员 发帖 442 积分 1,179
注意的是其实REGBAK.LST中的变量部分是REG EXPORT命令的一部分,如果把%WPATH%放在批处理中,那么因为需要导出的注册表项可能因为特殊符号如空格的影响很难使用FOR命令分解出几个部分再合成一个完整的命令,所以我的思路是直接在LST文件中让用户定义路径
第3楼 HUNRYBECKY 发表于 2007-01-03 05:55
银牌会员 发帖 442 积分 1,179
在线等待,自己顶一个.
第4楼 tghksj 发表于 2007-01-03 06:26
社区乞丐 发帖 90 积分 -49
你需要的是将 %WPATH% 这个变量的值传递给REG EXPORT %%I

所以需要用CALL进行调用.



[ Last edited by tghksj on 2007-1-2 at 05:27 PM ]
第5楼 9527 发表于 2007-01-03 06:26
银牌会员 发帖 438 积分 1,185 来自 北京
因为我系统没有REG命令,因为是在朋友家临时的,所以没法测试,不过你最初提供的默认时以空格为分隔符有些错误,因为你文本最后一行

你并不能得到理想的结果,所以建议以百分号作为分隔符号!
其次不知道REG命令对于CALL命令的调用是否有效,所以不知道测试后的结果是否正确,请先试用以下代码,如果出现问题在解决



REG EXPORT的具体参数不清楚了,我是 reg export 注册表键值 备份路径 这样写,的如有不妥请自行修改..
第6楼 9527 发表于 2007-01-03 06:30
银牌会员 发帖 438 积分 1,185 来自 北京
不好意思,已经有人回复你了,没有看到,呵呵............
第7楼 HUNRYBECKY 发表于 2007-01-03 07:34
银牌会员 发帖 442 积分 1,179
Originally posted by tghksj at 2007-1-3 06:26:
你需要的是将 %WPATH% 这个变量的值传递给REG EXPORT %%I

所以需要用CALL进行调用.

第8楼 HUNRYBECKY 发表于 2007-01-03 07:42
银牌会员 发帖 442 积分 1,179
Originally posted by 9527 at 2007-1-3 06:26:
因为我系统没有REG命令,因为是在朋友家临时的,所以没法测试,不过你最初提供的默认时以空格为分隔符有些错误,因为你文本最后一行
第9楼 HUNRYBECKY 发表于 2007-01-03 07:53
银牌会员 发帖 442 积分 1,179
不好意思,因为刚回到家里,所以直接测试上面代码出现一样的错误,原来是我自己搞错了,因为我还没有建立REGBAK目录,意思老是提示找不到,想来想去没有道理呀,结果自己检查发现自己范了这么低级的错误。

再次感谢9527和tghksj两兄,现在终于知道了要调用外部命令最好使用CALL,我在使用外部命令是一直都没有使用CALL,嘿嘿。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023